Power tool communication system

ABSTRACT

A power tool communication system including an external device including a first controller configured to transmit, via wireless communication to a power tool, configuration data including a work light duration parameter value and a work light brightness parameter value. The power tool includes a housing, a brushless direct current (DC) motor, a trigger, a work light, a wireless communication circuit configured to wirelessly communicate with the external device to receive the configuration data, and a second controller configured to control a work light duration of the work light based on the work light duration parameter value, and control a work light brightness of the work light based on the work light brightness parameter value.

RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 16/246,017, filed Jan. 11, 2019, which is a continuation ofU.S. patent application Ser. No. 15/833,356, filed Dec. 6, 2017, nowU.S. Pat. No. 10,213,908, which is a continuation of U.S. patentapplication Ser. No. 15/030,756, filed Apr. 20, 2016, now U.S. Pat. No.10,131,042, which is a national stage filing under 35 U.S.C. § 371 ofInternational Application No. PCT/US2014/061651, filed on Oct. 21, 2014,which claims priority benefit to U.S. Provisional Application No.61/893,765, filed Oct. 21, 2013, the entire contents of all of which arehereby incorporated by reference.

BACKGROUND

The present invention relates to enabling communication with power toolsand power tool devices.

SUMMARY

In one embodiment, the invention provides an adapter for a power tool.The adapter includes a housing, a tool-side connector supported by thehousing and configured to couple to a power tool or a charger, and abattery-side connector supported by the housing and configured to coupleto a battery pack. The battery-side connector is in electricalcommunication with the tool-side connector. The adapter also includes acommunication interface supported by the housing and configured tocouple with an external device, and a controller. The communicationinterface is in electrical communication with the tool-side connectorand the battery-side connector. The controller is supported by thehousing and coupled to the tool-side connector, the battery-sideconnector, and the communication interface. The controller is configuredto determine a state of the power tool. The state of the power tool isone of an active state in which an actuator of the power tool is inoperation or an idle state during which the actuator is idle. Thecontroller is also configured to operate in a data transmission mode, inwhich the adapter exchanges data between the external device and one ofthe power tool or the battery pack when the power tool is in the idlestate, operate in a pass-through mode, in which the adapter transferspower from the battery pack to the power tool when the power tool is inthe active state, and switch between the data transmission mode and thepass-through mode based on the state of the power tool.

In another embodiment, the invention provides a method of operating apower tool including an adapter. The adapter includes a tool-sideconnector configured to couple to the power tool, a battery-sideconnector configured to couple to a battery pack, and a communicationinterface configured to couple with an external device. The power toolis in one of an active state or an idle state. The method includesdetermining, by the adapter, whether the power tool is in the activestate or the idle state, exchanging data between the external device andone of the power tool or the battery pack when the power tool is in theidle state, and transferring, by the tool-side connector and thebattery-side connector, electrical power from the battery pack to thepower tool when the power tool is in the active state. The methodfurther includes switching between transferring electrical power andexchanging data based on the state of the power tool. During the activestate, a motor of the power tool is in operation and during the idlestate, the motor is idle.

In another embodiment, the invention provides an adapter for a powertool. The adapter includes a housing having a first side, a second sideopposite the first side, and a sidewall connecting the first side andthe second side. The sidewall is substantially perpendicular to thefirst side and the second side. The adapter also includes a tool-sideconnector supported by the housing and positioned on the first side ofthe housing. The tool-side connector is configured to couple to thepower tool. The adapter further includes a latching mechanism supportedby the housing, and positioned on the first side of the housing, abattery-side connector, and a port. The latching mechanism is configuredto secure the adapter to the power tool. The battery-side connector issupported by the housing and positioned on the second side of thehousing. The battery-side connector is configured to couple to a batterypack. The port is supported by the housing and positioned on thesidewall of the housing. The port is configured to couple with anexternal device.

Other aspects of the invention will become apparent by consideration ofthe detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a communication system according to one embodiment ofthe invention.

FIG. 2 illustrates a power tool of the communication system of FIG. 1.

FIG. 3 illustrates a schematic diagram of the power tool.

FIG. 4 is a bottom perspective view of the power tool.

FIG. 5 is a perspective view of a battery pack of the communicationsystem of FIG. 1.

FIG. 6 is a top view of the battery pack.

FIG. 7 is a schematic diagram of the battery pack.

FIG. 8 is a front perspective view of an adapter of the communicationsystem of FIG. 1.

FIG. 9 is a back perspective view of the adapter.

FIG. 10 is a bottom perspective view of the adapter.

FIG. 11 is a front view of the adapter.

FIG. 12 is a side view of the adapter.

FIGS. 13-15 are perspective views of the adapter with a top coverremoved.

FIG. 16 is a schematic diagram of the adapter.

FIG. 17 is a schematic diagram of the connections between the powertool, the adapter, and the battery pack.

FIG. 18 is flowchart for a method of switching between a datatransmission mode and a pass-through mode.

FIG. 19 is a schematic diagram of the alternative connections betweenthe power tool, the adapter, and the battery pack.

FIG. 20 is a side view of the power tool, the adapter, and the batterypack of the communication system of FIG. 1.

FIG. 21 illustrates a communication system according to anotherembodiment of the invention.

FIG. 22 illustrates a schematic diagram of a first power tool of thecommunication system shown in FIG. 21.

FIG. 23 illustrates a schematic diagram of a second power tool of thecommunication system shown in FIG. 21.

FIG. 24 illustrates a schematic diagram of a battery pack of thecommunication system shown in FIG. 21.

FIG. 25 illustrates a side view of an impact driver.

FIG. 26 illustrates a mode selection control of the impact driver shownin FIG. 25.

FIG. 27 illustrates a mode selection switch of an impact wrench.

FIG. 28 illustrates a perspective view of a hammer drill.

FIG. 29 illustrates a mode selection switch for the hammer drill shownin FIG. 28.

FIGS. 30-36 illustrate exemplary graphical user interfaces generated byan external device.

DETAILED DESCRIPTION

Before any embodiments of the invention are explained in detail, it isto be understood that the invention is not limited in its application tothe details of construction and the arrangement of components set forthin the following description or illustrated in the following drawings.The invention is capable of other embodiments and of being practiced orof being carried out in various ways. Also, it is to be understood thatthe phraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limited. The use of“including,” “comprising” or “having” and variations thereof herein ismeant to encompass the items listed thereafter and equivalents thereofas well as additional items. The terms “mounted,” “connected” and“coupled” are used broadly and encompass both direct and indirectmounting, connecting and coupling. Further, “connected” and “coupled”are not restricted to physical or mechanical connections or couplings,and can include electrical connections or couplings, whether direct orindirect.

It should be noted that a plurality of hardware and software baseddevices, as well as a plurality of different structural components maybe utilized to implement the invention. Furthermore, and as described insubsequent paragraphs, the specific configurations illustrated in thedrawings are intended to exemplify embodiments of the invention and thatother alternative configurations are possible. The terms “processor”“central processing unit” and “CPU” are interchangeable unless otherwisestated. Where the terms “processor” or “central processing unit” or“CPU” are used as identifying a unit performing specific functions, itshould be understood that, unless otherwise stated, those functions canbe carried out by a single processor, or multiple processors arranged inany form, including parallel processors, serial processors, tandemprocessors or cloud processing/cloud computing configurations.

FIG. 1 illustrates a first communication system 100 that includes, amongother things, a power tool 200, a power tool battery pack 400, anadapter 600, and an external device 800. The power tool is configured toperform one or more specific tasks (e.g., drilling, cutting, fastening,pressing, lubricant application, sanding, heating, grinding, bending,forming, impacting, polishing, lighting, etc.). For example, an impactwrench is associated with the task of generating a rotational output(e.g., to drive a bit), while a reciprocating saw is associated with thetask of generating a reciprocating output motion (e.g., for pushing andpulling a saw blade). The task(s) associated with a particular tool mayalso be referred to as the primary function(s) of the tool. The powertool 200 includes a drive device 210 and a motor 214 (see FIGS. 2 and3). The motor 214 actuates the drive device 210 and allows the drivedevice 210 to perform the particular task. The battery pack 400 provideselectrical power to the power tool 200 to energize the motor 214. Insome embodiments, the battery pack 400 is coupled directly to the powertool 200 to provide electrical power to the power tool 200. In theillustrated embodiment, however, the adapter 600 is coupled between thepower tool 200 and the battery pack 400. The adapter 600 creates aconnection between the power tool 200 and the external device 800 andbetween the battery pack 400 and the external device 800. The adapter600 therefore allows the power tool 200 and the battery pack 400 tocommunicate and exchange data with the external device 800.

Using the external device 800, a user can access stored power tool usageor power tool maintenance data. With this tool data, a user candetermine how the power tool 200 has been used, whether maintenance isrecommended or has been performed in the past, and identifymalfunctioning components or other reasons for certain performanceissues. The external device 800 also allows a user to set operationalparameters, safety parameters, select tool modes, and the like for thepower tool 200 or the battery pack 400.

The external device 800 may be, for example, a laptop computer, a tabletcomputer, a smartphone, a cellphone, or another electronic devicecapable of communicating with the adapter 600 and providing a userinterface. The external device 800 includes a communication interfacethat is compatible with the adapter 600. The communication interface ofthe external device 800 may include a USB port, a micro USB port,another suitable power and/or data port, a wireless communication module(e.g., a Bluetooth® module), or a combination thereof. The externaldevice 800, therefore, grants the user access to data related to thepower tool 200, the battery pack 400, or another power tool device(e.g., a charger), and provides a user interface such that the user caninteract with the controller of the power tool 200, the battery pack400, or another power tool device.

In addition, as shown in FIG. 1, the external device 800 can also sharethe information obtained from the power tool 200, the battery pack 400,or another power tool device with a remote server 900. The remote server900 may be used to store the data obtained from the external device 800,provide additional functionality and services to the user, or acombination thereof. In one embodiment, storing the information on theremote server 900 allows a user to access the information from aplurality of different locations. In another embodiment, the remoteserver 900 may collect information from various users regarding theirpower tool devices and provide statistics or statistical measures to theuser based on information obtained from the different power tools. Forexample, the remote server 900 may provide statistics regarding theexperienced efficiency of the power tool 200 or battery pack 400,typical usage of the power tool 200, and other relevant characteristicsand/or measures of the power tool 200 or the battery pack 400.

Although the power tool 200 illustrated and described herein is animpact wrench, embodiments of the invention similarly apply to and canbe used in conjunction with a variety of power tools (e.g., a powerdrill, a hammer drill, a pipe cutter, a sander, a nailer, a grease gun,etc.). As shown in FIG. 2, the power tool 200 includes an upper mainbody 202, a handle 204, a device receiving portion 206, selectionswitches 208, an output drive device or mechanism 210, and a trigger212. The housing of the power tool 200 (e.g., the main body 202 and thehandle 204) are composed of a durable and light-weight plastic material.The drive device 210 is composed of a metal (e.g., steel). The drivedevice 210 on the power tool 200 is a socket. However, each power tool200 may have a different drive device 210 specifically designed for thetask associated with the power tool 200. For example, the drive devicefor a power drill may include a bit driver, while the drive device for apipe cutter may include a blade. The selection switches 208 areconfigured to select the speed and/or torque for the power tool 200. Forembodiments in which the power tool 200 is different than the impactwrench 200, the selection switches 208 may be used to set otherparameters such as, for example, crimping pressures for crimpers.

The device receiving portion 206 is configured to receive and couple tothe battery pack 400, the adapter 600, or another power tool device witha compatible connector. The device receiving portion 206 includes adevice interface 222 (see FIGS. 3 and 4) that allows the power tool 200to be in mechanical and electrical communication with the battery pack400, the adapter 600, or another power tool device. As shown in FIG. 4,the device receiving portion 206 also includes notches 207 to engage amechanism that secures the battery pack 400, the adapter 600, or anotherpower tool device to the power tool 200. In the embodiment of FIG. 1,the device interface 222 is coupled to the adapter 600. In otherembodiments, the device interface 222 is coupled directly to the batterypack 400.

In the illustrated embodiment, the trigger 212 extends partially down alength of the handle 204; however, in other embodiments the trigger 212extends down the entire length of the handle 204 or may be positionedelsewhere on the power tool 200. The trigger 212 is moveably coupled tothe handle 204 such that the trigger 212 moves with respect to the toolhousing. The trigger 212 is coupled to a push rod, which is engageablewith a trigger switch 213 (see FIG. 3). The trigger 212 moves in a firstdirection towards the handle 204 when the trigger 212 is depressed bythe user. The trigger 212 is biased (e.g., with a spring) such that itmoves in a second direction away from the handle 204, when the trigger212 is released by the user. When the trigger 212 is depressed by theuser, the push rod activates the trigger switch 213, and when thetrigger 212 is released by the user, the trigger switch 213 isdeactivated. In other embodiments, the trigger 212 is coupled to anelectrical trigger switch 213. In such embodiments, the trigger switch213 may include, for example, a transistor. Additionally, for suchelectronic embodiments, the trigger 212 may not include a push rod toactivate the mechanical switch. Rather, the electrical trigger switch213 may be activated by, for example, a position sensor (e.g., aHall-Effect sensor) that relays information about the relative positionof the trigger 212 to the electrical trigger switch 213.

As shown in FIG. 3, the power tool 200 also includes the motor 214, aswitching network 216, sensors 218, indicators 220, the device interface222, a power input unit 224, and a controller 226. The device interface222 is coupled to the controller 226 and couples to the battery pack400, the adapter 600, or another power tool device. The device interface222 includes a combination of mechanical (e.g., the device receivingportion 206) and electrical components configured to and operable forinterfacing (e.g., mechanically, electrically, and communicativelyconnecting) the power tool 200 with a battery pack 400, the adapter 600,or another power tool device.

As shown in FIG. 4, the device interface 222 includes a terminalassembly 250. The number of terminals included in the terminal assembly250 can vary based on the type of power tool 200. As an illustrativeexample, however, the terminal assembly 250 includes four male bladeterminals 252 a, 252 b, 252 c, 252 d extending beyond the tool housing.The four male blade terminals 252 a-d are connected to the power tool200 through a terminal block 254. The terminals 252 a-d on the powertool 200 are generally exposed to the surrounding environment unless thepower tool 200 is connected to the battery pack 400, the adapter 600, oranother power tool device. When the terminals 252 a-d are connected toat least one of the battery pack 400, the adapter 600, or another powertool device, the terminals 252 a-d are covered by the connected device.

The four male blade terminals 252 a-d, include a power positive (“B+”)terminal 252 a, a power negative (“B−”) terminal 252 b, a firstcommunication terminal 252 c, and a second communication terminal 252 d.The power positive terminal 252 a and the power negative terminal 252 bare configured to connect to power terminals on the battery pack 400 oron the adapter 600. The power tool 200 does not include an internalpower supply for driving the motor 214 or powering the controller 226.Rather, the power tool 200 receives power through the power terminals252 a-b.

The first communication terminal 252 c and the second communicationterminal 252 d exchange information with the battery pack 400, theadapter 600, or another connected power tool device. For example, thepower tool 200 communicates to the battery pack 400 through the firstcommunication terminal 252 c and/or the second communication terminal252 d when the power tool 200 is ready to receive electrical power toenergize the motor 214. The power tool 200 is also configured todetermine certain characteristics of the battery pack 400 based on thesignals exchanged over the first communication terminal 252 c and/or thesecond communication terminal 252 d. For example, the communicationterminals 252 c-d can be used by the battery pack 400 or the power tool200 to identify the other of the battery pack 400 or the power tool 200.For example, the power tool 200 can identify the battery pack 400 as ahigh capacity battery pack or a normal capacity battery pack, as alithium-based battery or a nickel-based battery, as a battery packhaving a particular voltage, a higher resistance battery pack, a lowerresistance battery pack, etc.

The battery pack 400 can also receive identification information fromthe power tool 200 through the first and/or second communicationterminals 252 c-d. For example, the battery pack 400 can identify thepower tool 200 as a hammer drill, a drill/wrench, an impact wrench, abrushless power tool, a brushed power tool, a higher resistance powertool (e.g., capable of lower power output), a lower resistance powertool (e.g., capable of higher power output), etc.

The power tool 200 is also configured to exchange data with the adapter600 through the first communication terminal 252 c and the secondcommunication terminal 252 d. The power tool 200 can be queried for andexport data or information regarding power tool usage, specificparameters utilized to monitor the power tool 200, specific modes storedwithin the power tool 200, and/or maintenance data regarding the powertool 200. The power tool 200 can also receive through the first andsecond communication terminals 252 c-d new configuration and/orprogramming information from the adapter 600. For example, the adapter600 may upload software implementing alternate algorithms to controloperation of the motor 214, or algorithms for protecting different powertool circuitry.

The device interface 222 is coupled to the power input unit 224. Thedevice interface 222 transmits the power received through the powerterminals 252 a-b to the power input unit 224. The power input unit 224includes combinations of active and passive components to regulate orcontrol the power received through the device interface 222 and to thecontroller 226. For instance, the power input 224 may receive 18V fromthe device interface 222 and output 5V to the controller 226. When thedevice interface 222 is connected to the battery pack 400, the powerinput unit 224 receives power directly from the battery pack 400. Whenthe device interface 222 is connected to the adapter 600, the powerinput unit 224 receives power through the adapter 600. The adapter 600may receive power from the battery pack 400 when the battery pack 400 isconnected to the adapter 600 or from the external device 800 when theexternal device 800 is coupled to the adapter 600. In some situations,the adapter 600 may be coupled to both the battery pack 400 and theexternal device 800. In such situations, the adapter 600 may selectwhether to provide electrical power from the battery pack 400, theexternal device 800, or a combination thereof.

The controller 226 is also coupled to the trigger switch 213 to receivean activation signal from the trigger 212. In the illustratedembodiment, the trigger switch 213 is a push-button electrical switchpositioned within the handle 204. The trigger switch 213 includes a pushbutton and electrical contacts. When the push button is activated, suchas by the push rod discussed above, the electrical contacts are in aCLOSED position. Generally, when the electrical contacts are in theCLOSED position, electrical current is supplied from the deviceinterface 222 to the motor 214, via the switching network 216. When thepush button is not activated, the electrical contacts are in the OPENposition. When the electrical contacts are in the OPEN position,electrical current is not supplied from the device interface 222 to themotor 214. Although the trigger switch 213 is illustrated as apush-button electrical switch with contacts, other types of electricalswitches may be used in addition to or in place of the push-buttonelectronic switch. For instance, the trigger switch 213 may includesensors to detect the amount of trigger pull (e.g., released, 20% pull,50% pull, 75% pull, or fully depressed). In some embodiments, the amountof trigger pull detected by the trigger switch 213 is related to orcorresponds to a desired speed of rotation of the motor 214. In otherembodiments, the amount of trigger pull detected by the trigger switch213 is related to or corresponds to a desired torque.

In response to the controller 226 receiving the activation signal fromthe trigger switch 213, the controller 226 activates the switchingnetwork 216 to provide power to the motor 214. The switching network 216controls the amount of current available to the motor 214 and therebycontrols the speed and torque output of the motor 214. The switchingnetwork 216 may include numerous FETs, bipolar transistors, or othertypes of electrical switches.

The sensors 218 are coupled to the controller 226 and communicate to thecontroller 226 various signals indicative of different parameters of thepower tool 200 or the motor 214. The sensors 218 include, for example,one or more current sensors, one or more voltage sensors, one or moretemperature sensors, one or more speed sensors, one or more Hall Effectsensors, etc. For example, the speed of the motor 214 can be determinedusing a plurality of Hall Effect sensors to sense the rotationalposition of the motor 214. In some embodiments, the controller 226controls the switching network 216 in response to signals received fromthe sensors 218. For example, if the controller 226 determines that thespeed of the motor 214 is increasing too rapidly based on informationreceived from the sensors 218, the controller 226 may adapt or modifythe active switches or switching sequence within the switching network216 to reduce the speed of the motor 214.

The indicators 220 are also coupled to the controller 226 and receivecontrol signals from the controller 226 to turn on and off or otherwiseconvey information based on different states of the power tool 200. Theindicators 220 include, for example, one or more light-emitting diodes(“LED”), or a display screen. The indicators 220 can be configured todisplay conditions of, or information associated with, the power tool200. For example, the indicators 220 are configured to indicate measuredelectrical characteristics of the power tool 200, the status of thepower tool 200, etc. The indicators 220 may also include elements toconvey information to a user through audible or tactile outputs.

As described above, the controller 226 is electrically and/orcommunicatively connected to a variety of modules or components of thepower tool 200. In some embodiments, the controller 226 includes aplurality of electrical and electronic components that provide power,operational control, and protection to the components and modules withinthe controller 226 and/or power tool 200. For example, the controller226 includes, among other things, a processing unit 230 (e.g., amicroprocessor, a microcontroller, or another suitable programmabledevice), a memory 232, input units 234, and output units 236. Theprocessing unit 230 includes, among other things, a control unit 240, anarithmetic logic unit (“ALU”) 242, and a plurality of registers 244(shown as a group of registers in FIG. 3), and is implemented using aknown computer architecture, such as a modified Harvard architecture, avon Neumann architecture, etc. The processing unit 230, the memory 232,the input units 234, and the output units 236, as well as the variousmodules connected to the controller 226 are connected by one or morecontrol and/or data buses (e.g., common bus 246). The control and/ordata buses are shown generally in FIG. 3 for illustrative purposes. Insome embodiments, the controller 226 is implemented partially orentirely on a semiconductor (e.g., a field-programmable gate array[“FPGA”] semiconductor) chip, such as a chip developed through aregister transfer level (“RTL”) design process.

The memory 232 includes, for example, a program storage area and a datastorage area. The program storage area and the data storage area caninclude combinations of different types of memory, such as read-onlymemory (“ROM”), random access memory (“RAM”) (e.g., dynamic RAM[“DRAM”], synchronous DRAM [“SDRAM”], etc.), electrically erasableprogrammable read-only memory (“EEPROM”), flash memory, a hard disk, anSD card, or other suitable magnetic, optical, physical, or electronicmemory devices. The processing unit 230 is connected to the memory 232and executes software instructions that are capable of being stored in aRAM of the memory 232 (e.g., during execution), a ROM of the memory 232(e.g., on a generally permanent basis), or another non-transitorycomputer readable medium such as another memory or a disc. Softwareincluded in the implementation of the power tool 200 can be stored inthe memory 232 of the controller 226. The software includes, forexample, firmware, one or more applications, program data, filters,rules, one or more program modules, and other executable instructions.The controller 226 is configured to retrieve from memory and execute,among other things, instructions related to the control processes andmethods described herein. The controller 226 is also configured to storepower tool information on the memory 232. The controller 226 also storeson the memory 232 information regarding the usage of the power tool 200,information regarding the maintenance of the power tool 200, power tooltrigger event information, and other information relevant to operatingor maintaining the power tool 200. Such power tool information may thenbe accessed by a user with the external device 800 through the adapter600. In other constructions, the controller 226 includes additional,fewer, or different components.

At a given point in time, the power tool 200 may be in an active stateor an idle state. The idle state refers to a state of the power tool 200during which the power tool 200 is not performing the task associatedwith the power tool 200. In contrast, the active state refers to whenthe power tool 200 is actively performing the associated task.

The state of the power tool 200 can be determined in different ways. Forexample, in some embodiments, the state of the power tool 200 isdetermined based on the position of the trigger 212. In suchembodiments, the power tool 200 is determined to be in the active statewhen the trigger 212 is depressed. The power tool 200 is determined tobe in the idle state when the trigger 212 is not depressed by the user.

In other embodiments, the state of the power tool can be determinedbased on the output signals from the sensors 218. In such embodiments,the power tool 200 is determined to be in the active state when thesensors 218 indicate that the motor 214 is in motion (i.e., the motor214 is energized). The power tool 200 is determined to be in the idlestate when the sensors 218 indicate that the motor 214 is stationary(i.e., the motor 214 is not energized). Additionally, or alternatively,the state of the power tool 200 can be determined based on the state ofthe electrical switches in the switching network 216 or from the outputsignals from the controller 226 to the switching network 216. When theswitches in the switching network 216 are off or inactive, the state ofthe power tool 200 is determined to be idle. When the switches in theswitching network 216 are on or active, the state of the power tool 200is determined to be active. The state of the power tool can also bedetermined in other ways not explicitly described above. Additionally,the state of the power tool can also be determined by a combination orcombinations of the techniques described above and those not explicitlydescribed above.

The battery pack 400 is connectable to and supportable by the power tool200 and the adapter 600. As shown in FIGS. 5 and 6, the battery pack 400includes a housing 402, at least one rechargeable battery cell 404supported by the housing 402, and a fuel gauge 422. The housing 402includes a support portion 406 on a top side 403 of the housing. Thesupport portion 406 supports the battery pack 400 and couples thebattery pack 400 to the power tool 200, the adapter 600 or another powertool device (e.g., a charger). The support portion 406 includes acoupling mechanism 408 and a power interface 424 (see FIG. 6). Thecoupling mechanism 408 allows the battery pack 400 to releasably coupleto the power tool 200, the adapter 600, or another power tool device. Inthe illustrated embodiment, the support portion 406 is connectable(mechanically, electrically, and/or communicatively) to the devicereceiving portion 206 on the power tool 200. The support portion 406 isalso connectable to the adapter 600.

The battery pack 400 is removably and interchangeably connected to thepower tool 200, the adapter 600, and other power tool devices throughthe coupling mechanism 408. The coupling mechanism 408 includes a pairof actuators 414 and a pair of tabs 416. One of the actuators 414 andone of the tabs 416 are shown in FIG. 5, and the other actuator 414 andtab 416 are disposed on an opposite side of the battery pack 400 in asimilar arrangement. The coupling mechanism 408 releasably secures thebattery pack 400 to the power tool 200, the adapter 600, or anotherpower tool device. Each tab 416 engages a corresponding recess formed inthe device receiving portion 206 of the power tool 200 or a similarstructure in the adapter 600 to secure the battery pack 400. The tabs416 are normally biased away from the housing 402 (i.e., away from eachother) by springs inside the housing 402. Actuating (e.g., depressing)the actuators 414 inwards moves the tabs 416 toward the housing 402(i.e., toward each other) and out of engagement with the recesses suchthat the battery pack 400 may be pulled out away from the power tool200, the adapter 600, or another connected power tool device. In someembodiments, a single tab and actuator are included in the battery pack400.

The illustrated battery pack 400 includes ten battery cells 404. Inother embodiments, the battery pack 400 can have more or fewer batterycells 404. The battery cells 404 can be arranged in series, parallel, ora series-parallel combination. For example, in the illustratedembodiment, the battery pack 400 includes a total of ten battery cells404 configured in a series-parallel arrangement of two sets of fiveseries-connected cells 404. The series-parallel combination of batterycells 404 allows for an increased voltage and an increased capacity ofthe battery pack 400. In some embodiments, the battery pack 400 includesa single set of five series-connected battery cells 404. In otherembodiments, the battery pack 400 includes a different number of batterycells 404 (e.g., between 3 and 12 battery cells) connected in series,parallel, or a series-parallel combination in order to produce a batterypack 400 having a desired combination of nominal battery pack voltageand battery capacity.

In the illustrated embodiment, the battery cells 404 are lithium-basedbattery cells having a chemistry of, for example, lithium-cobalt(“Li—Co”), lithium-manganese (“Li—Mn”), or Li—Mn spinel. In someembodiments, the battery cells 404 have other suitable lithium orlithium-based chemistries, such as a lithium-based chemistry thatincludes manganese, etc. The battery cells 404 within the battery pack400 provide operational power (e.g., voltage and current) to the powertool 200. In one embodiment, each battery cell 404 has a nominal voltageof approximately 3.6V, such that the battery pack 400 has a nominalvoltage of approximately 18V. In other embodiments, the battery cells404 have different nominal voltages, such as, for example, between 3.6Vand 4.2V, and the battery pack 400 has a different nominal voltage, suchas, for example, 10.8V, 12V, 14.4V, 24V, 28V, 36V, between 10.8V and36V, etc. The battery cells 404 also have a capacity of, for example,approximately between 1.0 ampere-hours (“Ah”) and 5.0 Ah. In exemplaryembodiments, the battery cells 404 have capacities of approximately, 1.5Ah, 2.4 Ah, 3.0 Ah, 4.0 Ah, between 1.5 Ah and 5.0 Ah, etc. The batterycells 404 are also arranged to provide an efficient use of space and tomaintain a relatively small pack size.

As shown in FIGS. 5 and 6, the fuel gauge 422 is positioned on asidewall of the housing 402. In the illustrated embodiment, the fuelgauge 422 is positioned on a front sidewall, such that when the batterypack 400 is coupled to the power tool 200 or another power tool device,the fuel gauge 422 faces the front of the power tool 200 (i.e., towardthe drive device 210 of the power tool 200). The front sidewall of thehousing 402 includes a first (perpendicular) surface 423 and a second(angled) surface 425. As shown in FIG. 5, the first surface 423 isgenerally perpendicular to the top side 403 of the housing 402. Thesecond surface 425 is positioned adjacent and between the first surface423 and the top side 403 of the housing 402, and at an oblique angle ofapproximately 30° with respect to the top side 403 and a bottom side 427of the housing 402. The second surface 425, in some embodiments, ispositioned at a different oblique angle with respect to the top side 403or the bottom side 427, such as an angle between 15° and 45°, 25° and65°, 25° and 45°, 45° and 65°, or 15° and 75°. In the illustratedembodiment, the fuel gauge 422 is positioned on the second surface 425.This positioning allows the fuel gauge 422 to be easily accessible(e.g., visible) to the user. When the power tool 200 is coupled to thebattery pack 400, looking forward toward the power tool 200 allows auser to determine the charge state of the battery pack 400 via the fuelgauge 422.

The fuel gauge 422 provides visible indications to the user regardingthe state of charge of the battery cells 404. The fuel gauge 422includes, for example, one or more indicators, such as light-emittingdiodes (“LEDs”). The fuel gauge 422 is coupled to and controlled by thecontroller 420 to display conditions of, or information associated with,the state-of-charge of the battery cells 404. The fuel gauge 422 mayinclude a pushbutton 427. The controller 420 detects depression of thepushbutton 427 and, in response, causes the fuel gauge 422 to displaythe state of charge information for a predetermined period of time.

The electrical power provided by the battery pack 400 is controlled,monitored, and regulated using control electronics within the power tool200 and within the battery pack 400 as illustrated in theelectromechanical diagrams of FIG. 7. As shown in FIG. 7, the batterypack 400 also includes a controller 420, the fuel gauge 422, the powerinterface 424, a charge/discharge control module 426, and sensors 428.

As discussed above, the battery cells 404 are coupled to the controller420 and to the charge/discharge module 426. The battery cells 404generate electrical power provided to the power tool 200, the adapter600, or another power tool device. The charge/discharge control module426 includes, for example, one or more switches (e.g., FETs) forcontrolling the charging current to and discharge current from thebattery cells 404.

The power interface 424 is coupled to the controller 420 and to thecharge/discharge control module 426. The power interface 424communicates with the controller 420 and receives electrical power fromthe charge/discharge control module 426. The power interface 424includes a contact block 410 having a plurality of contacts 412 a-e asshown in FIG. 6. In the illustrated embodiment, the battery pack 400includes five contacts 412 a-e. The contacts 412 a-e are operable toelectrically transmit the electrical power received from thecharge/discharge control module 426 to the power tool 200, the adapter600, or another power tool device.

The battery pack 400 is removably and interchangeably connected to thepower tool 200, the adapter 600, or another power tool device to provideoperational power (i.e., voltage and current) to the power tool 200, theadapter 600, or the other power tool device through the contacts 412a-e. The contacts 412 a-e are in electrical communication with theterminals 252 a-d of the power tool 200 when the battery pack 400 isdirectly or indirectly (e.g., via the adapter 600) coupled to the powertool 200. When the battery pack 400 is coupled directly to the powertool 200, the battery pack contacts 412 a-e mate directly with theterminals 252 a-d. When the battery pack 400 is coupled to the powertool 200 through the adapter 600, the contacts 412 a-e mate with theadapter 600, which provides electrical communication between thecontacts 412 a-e of the battery pack 400 and the terminals 252 a-d ofthe power tool 200.

The five contacts 412 a-e include a positive power (“B+”) contact 412 a,a negative power (“B−”) contact 412 b, and three communication contacts412 c-e. The positive power contact 412 a and the negative power contact412 b are configured to connect to the power terminals 252 a,b,respectively, on the power tool 200 to provide operational power (i.e.,voltage and current) to the power tool 200. The power contacts 412 a-bare also configured to couple to power terminals on the adapter 600 aswill be discussed below. The battery pack 400 communicates with thepower tool 200, the adapter 600, or another power tool device through atleast two of the communication contacts 412 c-e. The two communicationterminals 252 c-d of the power tool 200 align with two of the threecommunication contacts 412 c-e of the battery pack 400 to enablecommunication between the devices. The third contact of thecommunication contacts 412 c-e is unmated and not used in this instance,but may be used in connection with other power tools and devices. Thebattery pack 400 communicates with the power tool 200 to determine whenthe power tool 200 is ready to receive electrical power and tocommunicate to the power tool 200 when the battery pack 400 is ready toprovide electrical power to the power tool 200. The battery pack 400 isalso configured to exchange data with the adapter 600 through at leasttwo of the communication contacts 412 c-e.

The sensors 428 include, for example, one or more current sensors, oneor more voltage sensors, one or more temperature sensors, etc. Thecontroller 420 uses the sensors 428 to monitor operation of the batterypack 400. The controller 420 also includes a variety of preset orcalculated fault condition values related to temperatures, currents,voltages, etc., associated with the operation of the power tool 200. Forexample, the controller 420 uses the sensors 428 to monitor anindividual state of charge of each of the battery cells 404, monitor acurrent being discharged from the battery cells 404, monitor thetemperature of one or more of the battery cells 404, etc., for faultcondition interrupts. If the voltage of one of the battery cells 404 isequal to or above an upper voltage limit (e.g., a maximum chargingvoltage), the charge/discharge control module 426 prevents the batterycells 404 from being further charged or requests that a battery charger(not shown) provide a constant voltage charging scheme. Alternatively,if one of the battery cells 404 falls below a low-voltage limit, thecharge/discharge control module 426 may prevent the battery cells 404from being further discharged. Similarly, if an upper or loweroperational temperature limit for the battery cells 404 of the batterypack 400 is reached, the controller 420 can control the charge/dischargemodule 426 to prevent further charging or discharging until thetemperature of the battery cells 404 or the battery pack 400 is withinan acceptable temperature range.

The controller 420 is electrically and/or communicatively connected to avariety of modules or components of the battery pack 400. For example,the illustrated controller 420 is connected to the fuel gauge 422, thesensors 428, the power interface 424, the battery cells 404, and thecharge/discharge control module 426 (optional within battery pack 400).The controller 420 includes combinations of hardware and software thatare operable to, among other things, control the operation of thebattery pack 400, activate the fuel gauge 422 (e.g., including one ormore LEDs), monitor the operation of the battery pack 400, etc.

In some embodiments, the controller 420 includes a plurality ofelectrical and electronic components that provide power, operationalcontrol, and protection to the components and modules within thecontroller 420 and/or battery pack 400. For example, the controller 420includes, among other things, a processing unit 430 (e.g., amicroprocessor, a microcontroller, or another suitable programmabledevice), a memory 432, input units 434, and output units 436. Theprocessing unit 430 includes, among other things, a control unit 440, anarithmetic logic unit (“ALU”) 442, and a plurality of registers 444(shown as a group of registers in FIG. 7), and is implemented using aknown computer architecture, such as a modified Harvard architecture, avon Neumann architecture, etc. The processing unit 430, the memory 432,the input units 434, and the output units 436, as well as the variousmodules connected to the controller 420 are connected by one or morecontrol and/or data buses (e.g., common bus 446). The control and/ordata buses are shown generally in FIG. 7 for illustrative purposes. Insome embodiments, the controller 420 is implemented partially orentirely on a semiconductor (e.g., a field-programmable gate array[“FPGA”] semiconductor) chip, such as a chip developed through aregister transfer level (“RTL”) design process.

The memory 432 includes, for example, a program storage area and a datastorage area. The program storage area and the data storage area caninclude combinations of different types of memory, such as read-onlymemory (“ROM”), random access memory (“RAM”) (e.g., dynamic RAM[“DRAM”], synchronous DRAM [“SDRAM”], etc.), electrically erasableprogrammable read-only memory (“EEPROM”), flash memory, a hard disk, anSD card, or other suitable magnetic, optical, physical, or electronicmemory devices. The processing unit 430 is connected to the memory 432and executes software instructions that are capable of being stored in aRAM of the memory 432 (e.g., during execution), a ROM of the memory 432(e.g., on a generally permanent basis), or another non-transitorycomputer readable medium such as another memory or a disc. Softwareincluded in the implementation of the battery pack 400 can be stored inthe memory 432 of the controller 420. The software includes, forexample, firmware, one or more applications, program data, filters,rules, one or more program modules, and other executable instructions.The controller 420 is configured to retrieve from the memory 432 andexecute, among other things, instructions related to the control of thebattery pack 400 described herein. The controller 420 can also store onthe memory 432 various battery pack parameters and characteristics(including battery pack nominal voltage, chemistry, battery cellcharacteristics, maximum allowed discharge current, maximum allowedtemperature, etc.).

The battery pack 400 is also configured to store other informationrelated to the operation of the battery pack 400 in the memory 432. Forexample, the controller 420 may obtain and store information regardingthe number of charge and discharge cycles, the discharge time, the typeof power tools the battery pack 400 is coupled to, the averagetemperature, the temperature as the state-of-charge of the battery cells404 decrease, and other such relevant information. This information maythen be transmitted or shared with the external device 800 through theadapter 600. In other constructions, the controller 420 includesadditional, fewer, or different components.

The battery pack 400 is also configured to couple to a battery packcharger (not shown). The battery pack 400 utilizes one of thecommunication contacts 412 e to receive charging current from thecharger. In other words, charging current is delivered to the batterypack 400 on the negative power contact 412 b and the third communicationcontact 412 e. The battery pack 400 also communicates informationregarding charging schemes, charging status, and the like to the chargerthrough the three communication contacts 412 c-e. Although the batterypack 400 is described as including five contacts 412 a-e, in otherembodiments, the battery pack 400 may include more or less contacts. Thebattery pack 400, however, includes at least a positive power contact, anegative power contact, and at least one communication contact.

As explained above with respect to the power tool 200, the battery pack400 is configured to communicate different information to the power tool200, the adapter 600, or another power tool device. For example, thebattery pack 400 may communicate certain characteristics of the batterypack 400 to the power tool 200, the adapter 600, or another power tooldevice through communication contacts 412 c-e and correspondingstructure (e.g., communication terminals 252 c-d) on the power tool 200,the adapter 600, or another power tool device. For example, the batterypack 400 and the power tool 200 may exchange identification signals toidentify to one another the type of power tool 200 or the type ofbattery pack 400. In some embodiments, the battery pack 400 may alsosend an identification signal to the adapter 600 to identify the batterypack to the adapter 600. Other information can also be exchanged throughthe communication contacts 412 c-e of the battery pack 400 such as, forexample, battery pack capacity, battery pack voltage, battery packchemistry, discharge and charging algorithms stored in the battery pack400 (i.e., in the memory 432 of the battery pack), thresholds monitoredby the controller 420 of the battery pack 400, discharge and chargehistory for the battery pack 400, and other relevant information for thebattery pack 400. The battery pack 400 uses the communication contacts412 c-e to export and import such information from the external device800 through the adapter 600. The battery pack 400 may also share some,or all, of this information with the power tool 200 or with a batterypack charger.

When coupled to the power tool 200, the adapter 600, or another powertool device, the battery pack 400 substantially encloses and coverscorresponding terminals (e.g., the terminals 252 a-d) on the power tool200, the adapter, and other power tool devices. That is, the batterypack 400 functions as a cover for the terminals 252 a-d of the powertool 200 and the connecting portion of the adapter 600.

FIG. 8 illustrates a perspective view of the adapter 600. As shown inFIG. 1, the adapter 600 is configured to couple to both the power tool200 and the battery pack 400. In some embodiments, the adapter 600 isalso configured to couple to a battery pack charger. The adapter 600couples to different power tool devices (e.g., the power tool 200, thebattery pack 400, and chargers) to export information from the powertool devices and import information into the power tool devices. Theadapter 600, for example, obtains and exports tool usage data,maintenance data, mode information, drive device information, and thelike from the power tool 200. The adapter 600 also imports (i.e.,provides) information into the power tool 200 such as, for example,configuration data, operation thresholds, maintenance thresholds, modeconfigurations, programming for the power tool 200, and the like. Ingeneral, the adapter 600 creates a communication path between the powertool 200, the battery pack 400, and other power tool devices and theexternal device 800.

As shown in FIG. 8, the adapter 600 includes a housing 604, a tool-sidereceiving portion 606, a battery-side receiving portion 608, a powerswitch 610, a communication port 612, a communication indicator 614, anda latching mechanism 616. The housing 604 includes a top-side 618, abottom side 620, and sidewalls connecting the top side 618 and thebottom side 620. As shown in FIG. 8, the tool-side receiving portion 606is located on the top side 618, while the battery-side receiving portion608 is located on the bottom side 620 of the adapter 600. The tool-sidereceiving portion 606 is configured to couple to the power tool 200. Thebattery-side receiving portion 608 is configured to couple to thebattery pack 400.

The tool-side receiving portion 606 includes a tool-side connector 622(see FIG. 9). The tool-side connector 622 includes a raised portion 626,and five contacts 628 a-e. The raised portion 626 protrudes from the topside 618 of the housing 604. The five contacts 628 a-e are partiallycovered by the raised portion 626. The five contacts 626 a-e and theraised portion 626 form female contacts configured to receive the maleblade terminals 252 a-d of the device interface 222 of the power tool200.

The tool-side connector 622 (see FIG. 9) can also couple to a batterypack charger. Accordingly, the tool-side connector 622 may also bereferred to as a charger-side connector and a tool/charger-sideconnector. The adapter 600 may exchange information with the charger.The tool-side connector 622 receives male blades from the charger andprovides electrical communication with an external device 800. Thebattery pack charger includes five male blades. The battery pack chargeruses a fifth terminal to provide a charging current to the battery pack400. Therefore, the adapter 600 includes the fifth contact 628 e, amongother reasons, to couple to the battery pack charger and facilitatecommunication between the external device 800 and the battery packcharger. Exemplary charger data that may be exported from the chargervia the adapter 600 includes charging history data and maintenance data.Charging history data can include the number, types, and identities ofbatteries charged, as well as the charging current provided to variousbatteries. Additionally, a user via the external device 800 maycommunicate to the charger via the adapter 600 to add, delete, andmodify charging schemes, firmware, and various settings and parameters.For instance, a user can update charge current levels, timing forswitching between current levels, various thresholds used to determinecharge current levels, and add charging schemes for new batteries.Although the tool-side connector 622 is shown to include five contacts628 a-e, in some embodiments, the tool-side connector 622 includes fourcontacts (e.g., contacts 628 a-d).

In the illustrated embodiment, the tool-side connector 622 also includesa raised bar 630. The raised bar 630 physically inhibits the adapter 600from coupling to power tools 200 that are incompatible with the adapter600. For example, in some embodiments, high-power power tools may notcouple with the adapter 600 and thereby, not exchange information withthe external device 800. In other embodiments, power tools 200 may beincompatible with the adapter 600 for other reasons such as, forexample, the power tool communication protocol is not compatible withthe adapter, the power tool 200 does not accept reconfiguration filesfrom the external device 800 for security reasons, the power tool 200does not record information to be exported through the adapter 600, etc.In other embodiments, the adapter 600 does not include the raised bar630 and is not prevented from coupling to certain power tools.

When the adapter 600 is coupled to the power tool 200, or another powertool device including a similar device receiving portion 206, theadapter 600 substantially encloses and covers the blade terminals 252a-d on the power tool 200. That is, the adapter 600 functions as a coverfor the terminals 252 a-d of the power tool 200. Once the adapter 600 isdisconnected from the power tool 200, the terminals 252 a-d on the powertool 200 are generally exposed to the surrounding environment. In theillustrated embodiment, the adapter 600 is designed to substantiallyfollow the contours of the power tool 200 to match the general shape ofthe outer casing of the handle 204 of the power tool 200. The adapter600 also generally increases (e.g., extends) the length of the grip ofthe tool (i.e., the portion of the power tool below the main body).

The adapter 600 is removable and interchangeably connected to variouspower tools through the latching mechanism 616. The latching mechanism616 releasably secures the adapter 600 to the power tool 200. As shownin FIGS. 8 and 9, the latching mechanism 616 includes a pair of tabs 632and a pair of actuators 634. The tabs 632 engage the notches 207 in thedevice receiving portion 206 of the power tool 200. The tabs 632 arenormally biased away from the raised portion 626 (i.e., away from eachother) by springs inside the housing 604. When the tabs 632 are engagingthe notches 207, the adapter 600 is secured in the device receivingportion 206 of the power tool 200. Each actuator 634 is mechanicallylinked to one of the tabs 632. Actuating (e.g., depressing) theactuators 634 inward moves the tabs 632 toward the raised portion 626(i.e., toward each other) and out of engagement with the notches 207 inthe device receiving portion 206 of the power tool 200. While the tabs632 are out of engagement with the recesses, the adapter 600 may bepulled out from the device receiving portion 206 and away from the powertool 200. In some embodiments, rather than having multiple tabs, thelatching mechanism 616 includes only a single tab and a single actuator.In other embodiments, the latching mechanism 616 includes more than twotabs 632 and/or more than one actuator 634.

FIGS. 8 and 9, as well as the above description, show that the tool-sideconnector 622 of the adapter 600 replicates the power interface 424included in the battery pack 400 such that the adapter 600 is compatiblewith the power tool 200. Therefore, the connection between the powertool 200 and the adapter 600 replicates the connection between the powertool 200 and the battery 400 such that the connections are intuitive tothe user.

The battery-side receiving portion 608 includes a battery-side connector624 (see FIG. 10). The battery-side connector 624 includes a terminalblock 636, and four male blade terminals 638 a-d extending beyond thehousing 604. The terminal block 636 and the four male blade terminals638 a-d are recessed in a cavity 640 of the battery-side receivingportion 608. The cavity 640 is shaped such that the contours of thebattery pack 400 match the general shape of the cavity 640.

The four male blade terminals 638 a-d are connected to the adapter 600through the terminal block 636, which connects the blade terminals 638a-d to the housing 604 and to the other electronics of the adapter 600.When the adapter 600 is not coupled to the battery pack 400, the bladeterminals 638 a-d are generally exposed to the surrounding environment.However, as discussed above with respect to the battery pack 400, whenthe battery 400 is coupled to the adapter 600, the female contacts 412a-e of the battery pack 400 receive the blade terminals 638 a-d of theadapter 600. The female contacts 412 a-e, therefore, cover the terminals638 a-d and protect them from the surrounding environment. As shown inFIG. 10, the cavity 640 includes two notches 642. The notches 642receive the tabs 416 from the coupling mechanism 408 of the battery pack400. Therefore, when the battery pack 400 is coupled to the adapter 600,the tabs 416 secure the battery pack 400 onto the adapter 600 byengaging the tabs 416 of the battery pack 400 with the notches 642 ofthe adapter 600.

As shown in FIGS. 8 and 11, the power switch 610, the communication port612, and the communication indicator 614 are positioned on a sidewall ofthe housing 604. In the illustrated embodiment, the power switch 610,the communication port 612, and the communication indicator 614 arepositioned on the same front sidewall, such that when the adapter 600 iscoupled to the power tool 200 or another power tool device, the powerswitch 610, the indicator 614, and the communication port 612 all facethe front of the power tool 200 (i.e., toward the drive device 210 ofthe power tool 200). The front sidewall of the housing 604 includes afirst surface 644 and a second surface 646. As shown in FIGS. 8 and 11,the first surface 644 is generally perpendicular to the top side 618 andthe bottom side 620. The second surface 646 is positioned adjacent andbetween the first surface 644 and the top side 618 of the housing 604,and at an oblique angle of approximately 30° with respect to both thetop side 618 and the bottom side 620. The second surface 646, in someembodiments, is positioned at a different oblique angle with respect tothe top side 618 or the bottom side 620, such as an angle between 15°and 45°, 25° and 65°, 25° and 45°, 45° and 65°, or 15° and 75°. In theillustrated embodiment, the power switch 610 and the communicationindicator 614 are positioned on the second surface 646. This positioningallows the power switch 610 and the communication indicator 614 to beeasily accessible (e.g., visible) to the user. The position of the powerswitch 610 and the communication indicator 614 is similar to theposition of the fuel gauge 422 on the battery pack 400. For example,when the power tool 200 is coupled to the battery pack 400 through theadapter 600, looking forward toward the power tool 200 allows a user todetermine the charge state of the battery pack 400 via the fuel gauge422, the power status of the adapter 600 via the power switch 610, andthe communication status of the adapter 600 via the communicationindicator 614.

The communication port 612 is positioned on the first surface 644 of thefront sidewall. The communication port 612 is also connected to a PCB650 of the adapter 600 (see FIGS. 13-15) including other electronicsrelevant to the adapter 600. The communication port 612 includes acavity 652 (see FIG. 15) that receives a compatible communicationconnector such as, for example, a USB connector. In the illustratedembodiment, the cavity 652 has a generally rectangular shape toaccommodate the communication port 612. In other embodiments, the shapeof the cavity 652 may be different based on the shape of the particularcommunication port 612.

The communication port 612 is protected by a cover 654. The cover 654 isattached with a hinge on an upper edge of the cavity 652. The cover 654is pivotable between an open position and a closed position. In the openposition, the cover 654 is at an angle with the first surface 644 of thesidewall and the cavity 652 is exposed to the environment. In the closedposition, the cover 654 is flush with the sidewall of the housing 604and the cavity 652 is protected from the external environment (see FIGS.11 and 12). For example, the cover 654 may also prevent the ingress ofdust, water, or other contaminants. To connect the external device 800to the communication port 612 for communication via the adapter 600, thecover 654 is placed in the open position. When the cover 654 is in theclosed position the communication port 612 is inaccessible and theexternal device 800 does not communicate with the adapter 600 throughthe communication port 612.

The adapter 600 also includes other electronic components that aremounted on the PCB 650 and positioned within the adapter housing 604.The housing 604 includes a base plate 656 and a cover 657 (see FIGS. 10and 11). The cover 657 couples to the base plate 656 and protects theinternal components of the adapter 600 from the surrounding environment.FIGS. 13-15 illustrate the adapter 600 when the cover 657 is removed.

As shown in FIGS. 13-15, the PCB 650 is positioned in between theterminal block 636 and the contacts 628 a-e. As also shown in FIGS.13-15, the base plate 656 supports the electronics and structuralcomponents of the adapter 600. The terminal block 636 is coupled to thehousing 604 through a connecting plate 658. The blade terminals 638 a-dextend through and beyond the connecting plate 658 into the housing 604.Connecting wires 662 are shown coupled (e.g., soldered) at one end ofthe PCB 650 and free at their respective opposite ends. However, in afinal assembly, each free end of the connecting wires 662 is coupled toa respective terminal 638 a-d. Accordingly, the four blade terminals 638a-d are electrically connected to the PCB 650 through connecting wires662. In the illustrated embodiment, the connecting plate 658 is coupledto the base plate 656 through connecting members 664 (e.g., screws). Inother embodiments, the connecting plate 658 may be coupled to the baseplate 656 by some other coupling means such as, for example, adhesive.In yet other embodiments, the connecting plate 658 may be part of thebase plate 656 and the blade terminals 638 a-d may be coupled to thebase plate 656 directly.

The contacts 628 a-e are coupled to the housing 604 through a supportplate 668. The support plate 668 holds the contacts 628 a-e above thePCB such that they are accessible to a connected device (e.g., the powertool 200) on the top side 618 of the housing 604. A portion of each ofthe contacts 628 a-e extends below the support plate 668 and isconnected to the PCB 650 by a second set of connecting wires 670.Similar to the connecting wires 662, the connecting wires 670 areillustrated as having a free end, but in a final assembly, the free endsof the connecting wires 670 are each connected (e.g., soldered) to arespective contact 628 a-e.

As shown in FIG. 14, the support plate 668 for the contacts 628 a-e iscoupled the latching mechanism 616. In particular, the support plate 668also supports the tabs 632 that engage the notches 207 on the power tool200. As shown in FIGS. 13-15, the housing 604 also includes a mountmember 672. The mount member 672 is connected to the support plate 668and extends upward toward the top side 618 of the housing 604. The powerswitch 610 and the communication indicator 614 are supported by themount member 672. The height of the mount member 672 allows the powerswitch 610 and the communication indicator 614 to be accessible to theuser and positioned on the (angled) second surface 646 of the frontsidewall of the housing 604.

As shown in FIGS. 13-15, the PCB 650 extends horizontally across theadapter 600 with a mounting surface generally parallel to the top side618 and the bottom side 620. The communication port 612 is mounteddirectly on the PCB 650, as shown in FIG. 15. The PCB 650 also supportsother electronic components of the adapter 600. As shown in FIG. 16, theadapter also includes a controller 674, the tool side connector 622, thebattery side connector 624, a communication interface 680, thecommunication indicator 614, a power input module 682, the power switch610, an external memory receiver 678, and a display connector 676.

The controller 674 is electrically and/or communicatively connected to avariety of modules and/or components of the adapter 600, as shown inFIG. 16. In some embodiments, the controller 674 includes a plurality ofelectrical and electronic components that provide power, operationalcontrol, and protection to the components and modules within thecontroller 674 and/or the adapter 600. For example, the controller 674includes, among other things, a processing unit 686 (e.g., amicroprocessor, a microcontroller, or another suitable programmabledevice), a memory 688, input units 690, and output units 692. Theprocessing unit 686 includes, among other things, a control unit 694, anarithmetic logic unit (“ALU”) 696, and a plurality of registers 698(shown as a group of registers in FIG. 16), and is implemented using aknown computer architecture, such as a modified Harvard architecture, avon Neumann architecture, etc. The processing unit 686, the memory 688,the input units 690, and the output units 692, as well as the variousmodules connected to the controller 674 are connected by one or morecontrol and/or data buses (e.g., common bus 700). The control and/ordata buses are shown generally in FIG. 16 for illustrative purposes. Insome embodiments, the controller 674 is implemented partially orentirely on a semiconductor (e.g., a field-programmable gate array[“FPGA”] semiconductor) chip, such as a chip developed through aregister transfer level (“RTL”) design process.

The memory 688 includes, for example, a program storage area and a datastorage area. The program storage area and the data storage area caninclude combinations of different types of memory, such as read-onlymemory (“ROM”), random access memory (“RAM”) (e.g., dynamic RAM[“DRAM”], synchronous DRAM [“SDRAM”], etc.), electrically erasableprogrammable read-only memory (“EEPROM”), flash memory, a hard disk, anSD card, or other suitable magnetic, optical, physical, or electronicmemory devices. The processing unit 686 is connected to the memory 688and executes software instructions that are capable of being stored in aRAM of the memory 688 (e.g., during execution), a ROM of the memory 688(e.g., on a generally permanent basis), or another non-transitorycomputer readable medium such as another memory or a disc. Softwareincluded in the implementation of the adapter 600 can be stored in thememory 688 of the controller 674. The software includes, for example,firmware, one or more applications, program data, filters, rules, one ormore program modules, and other executable instructions. The controller674 is configured to retrieve from memory and execute, among otherthings, instructions related to the control processes and methodsdescribed herein.

In the illustrated embodiment, the controller 674 is also configured tostore power tool information, battery pack information, or informationreceived from another power tool device on the memory 688 of the adapter600. When the adapter 600 receives data from, for example, the powertool 200 through the tool-side connector 622, the adapter 600 stores thereceived data in the memory 688. The adapter 600 may at a future pointin time be coupled to the external device 800 to output the power tooldata stored in memory 688. Analogously, the adapter 600 may be coupledto the external device 800 to obtain configuration data and/orprogramming data specific for the power tool 200. The adapter 600 maycouple to the power tool 200 at a future point in time and relay theconfiguration and programming information to the power tool 200 via thetool-side connector 622.

The tool-side connector 622 includes the five contacts 628 a-e. The fivecontacts 628 a-e include a positive power contact 628 a, a negativepower contact 628 b, and three communication contacts 628 c-e. Thepositive power contact 628 a and the negative power contact 628 b areconfigured to connect to the power terminals 252 a,b on the power tool200. The positive and negative power contacts 628 a-b provideoperational power (i.e., voltage and current) to the power tool 200. Theadapter 600 communicates with the power tool 200, or another power tooldevice through at least two of the communication contacts 628 c-e. Thetwo communication terminals 252 c-d of the power tool 200 align with twoof the three communication contacts 628 c-e of the adapter 600 to enablecommunication between the devices. The third contact of thecommunication contacts 628 c-e is unmated and not used in this instance,but may be used in connection with other power tools and devices. Theadapter 600 communicates with the power tool 200 to obtain informationregarding the power tool status, operation statistic, or power toolidentification. The adapter 600 can also write data to the power tool200 for power tool configuration, firmware upgrades, or to send commands(e.g., turn on a worklight).

The adapter 600 exchanges data/information with the power tool 200, oranother similar power tool device by transmitting and receiving signalsthrough the two communication terminals 252 c-d and two communicationcontacts 628 c-d. The adapter 600 and the power tool 200 includeprogrammed instructions specifying which terminal/contact will be usedfor the adapter 600 to transmit data and which terminal/contact will beused for the power tool 200 to transmit data. In other words, whenexplained from the perspective of the adapter 600, one communicationcontact 628 c is used to transmit data to the power tool 200 and thesecond communication contact 628 d is used to receive data from thepower tool 200. In other embodiments, the adapter 600 may transmit datato the power tool 200 using the second communication contact 628 d andreceive data from the power tool 200 using the first communicationcontact 628 c. Once the transmitter/receiver terminals/contacts havebeen established, the adapter 600 and the power tool 200 may exchangedata over the two communication links.

In the illustrated embodiment, the adapter 600 and the power tool 200use a software communication technique to exchange data over thecommunication terminals 252 c-d and the communication contacts 628 c-d.In the illustrated embodiment, the adapter 600 becomes the master deviceand the power tool 200 becomes the slave device. The master device(i.e., the adapter 600) initiates data communication. In otherembodiments, the power tool 200 is the master device and the adapter 600the slave device. To begin communication, the adapter 600 sends a startsignal to the power tool 200. After the start signal has been sent, theadapter 600 utilizes software executed by the processing unit 686 toalternate (i.e., switch between a high output and a low output) atransmit pin of the controller 674 that is coupled to the communicationcontact 628 c. The start signal is used to communicate to the power tool200 (or slave device) the baud rate and stop bits for the communicationbetween the adapter 600 and the power tool 200. The power tool 200detects the start signal, determines the communicated baud rate and stopbits, and begins sampling the terminal 252 c coupled to thecommunication contact 628 c. The adapter 600 sends a predeterminednumber of bits and then sends a stop signal. In the illustratedembodiment, the start signal is a high output on the transmitter contact628 c for the duration of two bits and the stop signal is a low outputon the transmitter contact 628 c for the duration of two bits. The powertool 200 detects the start signal and begins sampling the terminal 252 ccoupled to the communication contact 628 c to receive data bits outputby the adapter 600. The power tool 200 samples the value of each bit andstores it in a register. The power tool 200 then recognizes the stopsignal and waits for another start signal from the adapter 600. If theadapter 600 has finished transmitting bits to the power tool 200, thepower tool 200 can respond to the adapter 600 by sending the startsignal, a predetermined number of bits, and the stop signal. In otherwords, the power tool 200 can transmit information/data to the adapter600 using a similar procedure with reversal of roles (e.g., the powertool 200 transmits, the adapter 600 receives) and using the othercommunication terminal 252 d and communication contact 628 d.

To ensure that communication occurs accurately, the power tool 200 andthe adapter 600 set or are preprogrammed with certain communicationparameters. For example, the power tool 200 and the adapter 600communicate at the same baud rate, which allows the power tool 200 andthe adapter 600 to sample the signals on the transmit pinsappropriately. The power tool 200 and the adapter 600 also communicateusing a specific data packet size. The data packet size refers to thenumber of bits the power tool 200 or the adapter 600 transmits betweeneach start and stop signal. In the illustrated embodiment, the powertool 200 and the adapter 600 communicate with a data packet size ofeight bits. That is, the transmitting device (either the adapter 600 orthe power tool 200) transmits the start signal, eight data bits, and thestop signal. The receiving device then knows that the first bitcorresponds to the start signal, the following eight bits correspond toencoded data, and the last signal corresponds to the stop signal.Communicating in such a way allows the power tool 200 and the adapter600 to segment the data and make it easier for the receiving device todecode. The power tool 200 and the adapter 600 also set or areprogrammed to communicate in the same endiannes, which refers to theorder in which bits are transmitted. In the illustrated embodiment, themost significant bit is transmitted first. In other embodiments, theleast significant bit is transmitted first. These and othercommunication parameters may be preprogrammed into the adapter 600 andthe power tool 200. In other embodiments, the user may be able to changesome of these parameters such as, for example, the baud rate. The usermay adjust the baud rate using the external device 800 and communicatingthe change in baud rate to both the adapter 600 and the power tool 200.

In other embodiments, rather than communicating using the softwareimplemented method described above, the adapter 600 and the power tool200 exchange data over the communication terminals 252 c-d and thecommunication contacts 628 c-d using one or more universal asynchronoustransmitter/receivers (“UART”) to encode and decode the transmissionsbetween the adapter 600 and the power tool 200. In other embodiments,the power tool 200 and the adapter 600 may use similar hardware toencode and decode the communication over the data terminals 252 c-d andthe communication contacts 628 c-d.

The battery-side connector 624 includes the four terminals 638 a-d. Thefour male blade terminals 638 c-d include a power positive terminal 638a, a power negative terminal 638 b, a first communication terminal 638c, and a second communication terminal 638 d. The power positiveterminal 638 a and the power negative terminal 638 b are configured toconnect to power terminals on the battery pack 400 or other power tooldevice. The power terminals 638 a, 638 b on the battery-side connector624 receive operational power (i.e., voltage and current) from thebattery pack 400. The operational power may be transmitted to the powertool 200, used to power the adapter 600, or both.

The adapter 600 uses the first communication terminal 638 c and thesecond communication terminal 638 d to exchange information with thebattery pack 400. The adapter 600 uses a similar communication protocolas was described between the power tool 200 and the adapter 600.Therefore, software executed by the processing unit 686 allows atransmit pin of the controller 674 to be toggled between low output andhigh output to send a start signal, data bits, and a stop signal. Thebattery pack 400 uses the processing unit 430 to sample and decode thetransmitted bits.

The communication interface 680 is coupled between the external device800 and the controller 674 of the adapter 600 to allow the adapter 600to communicate and exchange data with the external device 800. As shownin FIG. 16, the communication interface 680 includes the communicationport 612 and a wireless communication module 684. The communicationbetween the adapter 600 and the external device 800 is implemented usinghardware-driven serial communications through the communication port orusing wireless transceivers through the wireless communication module684.

The communication port 612 includes a positive power terminal, anegative power terminal, and at least one data terminal. Thecommunication port 612 receives power from the external device 800through the positive power terminal and the negative power terminal. Theadapter 600 may receive electrical power from the external device 800and power the controller 674 as well as other electrical components ofthe adapter 600. The adapter 600 and the external device 800 exchangedata over the at least one data terminal of the communication port 612using serial communication protocols.

In the illustrated embodiment, the communication port 612 includes auniversal serial bus (USB) port. The USB port 612 includes a positivepower terminal, a negative power terminal, and two data terminals. Theadapter 600 and the external device 800 utilize the two data terminalson the USB port 612 to exchange data using differential signaling. Asdiscussed above, the adapter 600 and the external device 800 exchangedata regarding the power tool 200, the battery pack 400, or anotherpower tool device to which the adapter 600 can be connected.

In other embodiments, the communication port 612 may include anothertype of communication port. For example, the communication port 612 mayinclude an RS-232 port, a microUSB port, a proprietary port, etc.Furthermore, the adapter 600 may include more than one communicationport 612 such that the adapter 600 is compatible with different externaldevices 800 that may include different types of communication ports orconnectors.

The wireless communication module 684 provides an alternative way forthe adapter 600 to communicate with the external device 800. That is,the wireless communication module 684 selectively uses the communicationport 612 or the wireless communication module 684 to communicate withthe external device 800. The wireless communication module 684 includesa radio transceiver and an antenna to send and receive wireless messagesto and from the external device 800. The wireless communication module684 may be used, for example, when the external device 800 does notinclude a connector or port compatible with the communication port 612,or when wireless communication is preferred by a user. The wirelesscommunication module 684 may include its own controller to effectwireless communications between the adapter 600 and the external device800. For example, a controller associated with the wirelesscommunication module 684 may buffer incoming and/or outgoing data,communicate with the controller 674, and determine the communicationprotocol and/or settings to use in wireless communications.

In the illustrated embodiment, the wireless communication module 684 isa Bluetooth® module. The Bluetooth® module communicates with theexternal device 800 employing the Bluetooth® protocol. Therefore, in theillustrated embodiment, the external device 800 and the adapter 600 arein proximity of each other while they exchange data. In otherembodiments, the wireless communication module 684 communicates usingother protocols (e.g., Wi-Fi, cellular protocols, etc.) over a differenttype of wireless networks. For example, the wireless communicationmodule 684 may be configured to communicate via Wi-Fi through a widearea network such as the Internet or a local area network, or tocommunicate through a piconet (e.g., using infrared or NFCcommunications). The communication via the communication interface 680,both wired and wireless, may be encrypted to protect the data exchangedbetween the adapter 600 and the external device/network 800 from thirdparties.

By electrically coupling the tool-side connector 622, the battery-sideconnector 624, and the communication interface 680, the adapter 600enables communications between the external device 800 and the powertool 200, the battery pack 400, or another power tool device. Theadapter 600 is configured to receive data from the power tool 200 andthe battery pack 400 and relay the information to the external device800. In a similar manner, the adapter 600 is configured to receiveinformation (e.g., configuration and programming information) from theexternal device 800 and relay the information to the power tool 200, thebattery pack 400, or another power tool device.

The communication indicator 614 provides a visual indication to the userregarding the power and communication status of the adapter 600. Thecommunication indicator 614 includes an LED that is connected to the PCB650 of the adapter 600 (see FIGS. 13-15). The communication indicator614 is configured to illustrate whether the adapter 600 is powered, andwhether the adapter 600 is communicating with the external device 800through the communication port 612 or through the wireless communicationmodule 684. In the illustrated embodiment, when the adapter 600 ispowered on, the communication indicator 614 lights up solid. When theadapter 600 is communicating with the external device 800 through thecommunication port 612 or the wireless communication module 684, thecommunication indicator 614 lights up and flashes at a predeterminedrate. In other embodiments, the communication indicator 614 flashes at afirst predetermined rate when the adapter 600 communicates with theexternal device 800 using the communication port 612 and flashes at asecond predetermined rate when the adapter 600 communicates with theexternal device 800 using the wireless communication module 684. Inother embodiments, the communication indicator 614 lights up in a firstcolor when the adapter 600 communicates with the communication port 612and in a second color when the adapter 600 communication with thewireless communication module 684.

In yet other embodiments, when the adapter 600 communicates with theexternal device 800 through the communication port 612, thecommunication indicator 614 does not light up. Instead, when the adapter600 communicates with the external device 800 using the wirelesscommunication module 684, the communication indicator 614 lights up. Inother embodiments, the adapter 600 may include one indicator for eachtype of communication interface with the external device 800. In otherembodiments, the adapter 600 may, additionally or alternatively,activate the indicator 614 when the adapter 600 communicates with theexternal device 800 via the communication port 612.

The power input module 682 is configured to receive the electrical powerfrom the battery pack 400, the external device 800, an integrated powersource (e.g., a 9V battery), or a combination thereof. The power inputmodule 682 is also configured to condition the received power intousable power for the various components of the adapter 600. Conditioningthe power may include, for example, reducing the electrical powerreceived by the power input module 682 into the appropriate voltageand/or current parameters, or filtering the power received by the powerinput module 382. The power input module 682 communicates with thecontroller 674 to determine the power parameters necessary for thecontroller 674 and ensure that the power provided by the power inputmodule 682 meets the necessary power parameters of the controller 674and of the other electronic components of the adapter 600.

The power input module 682 is in electrical communication with thebattery-side connector 624 and with the communication port 612. Asdescribed above, both the battery-side connector 624 and thecommunication port 612 are configured to receive electrical powerthrough the power terminals (e.g., 638 a-b). The power input module 682is configured to receive electrical power from at least one of thebattery side connector 624 and the communication port 612. When theadapter 600 is coupled to the battery pack 400, the adapter 600 receiveselectrical power (i.e., voltage and current) from the battery pack 400through the battery side connector 624 (i.e., the blade terminals 638a-b). When the adapter 600 is coupled to the external device 800 throughthe communication port 612, the adapter 600 receives electrical powerfrom the communication port 612. Although the external device 800 isconfigured to provide electrical power to the power tool 200 through thecommunication port 612, the power from the external device 800 may notbe sufficient to energize the motor 214 of the power tool 200. Rather,the power from the external device 800 is used to power the controller226 of the power tool 200, such that data can still be exchanged betweenthe power tool 200 and the external device 800.

In some situations, the adapter 600 may be coupled to both the batterypack 400 via the battery side connector 624 and the external device 800through the communication port 612 at the same time. In such instances,the adapter 600 defaults to receiving electrical power from the batterypack 400. In other embodiments, the adapter 600 may default to receivingelectrical power from the external device 800 through the communicationport 612. In some embodiments, the adapter 600 may be configured toreceive electrical power from both the battery pack 400 and the externaldevice 800 when both the battery pack 400 and the external device 800are physically and electrically coupled to the adapter 600. In suchembodiments, the battery pack 400 may be utilized to power somecomponents of the adapter (e.g., an LCD display, the communicationindicator 614, etc.) while the external device 800 is utilized to powerdifferent components of the adapter (e.g., the controller 674, thewireless communication module 684, etc.).

The power switch 610 is a push-button switch that turns the adapter 600on and off. When the adapter 600 is on, communication between theexternal device 800 and the power tool 200 or the battery pack 400 isenabled. When the adapter 600 is off, communications between the powertool 200 and the external device 800 or between the battery pack 400 andthe external device 800 cease. In some embodiments, the power switch 610also includes a lighting element that lights up when the adapter 600 ispowered and lights off when the adapter 600 is not powered, therebyproviding a visual indication to the user of the power status of theadapter 600. In some embodiments, if the adapter 600 is coupled to boththe power tool 200 and the battery pack 400, the power tool 200 and thebattery pack 400 can communicate with each other and perform generaloperations (i.e., the battery pack 400 can transmit electrical power tothe power tool 200 to drive the motor 214) regardless of whether theadapter 600 is on or off. In other embodiments, however, the power tool200 and the battery pack 400 can only communicate with each other andperform general operations when the adapter 600 is either on or removedsuch that the battery pack 400 is connected directly with the power tool200.

The adapter 600 switches between a data transmission mode and apass-through mode. In the data transmission mode, the adapter 600communicates with the power tool 200, the battery pack 400, or anotherpower tool device using the techniques described above. During the datatransmission mode, the adapter 600 can receive and transmit informationrelated to, for example, power tool usage data, usage statistics, powertoo identification, power tool maintenance data, battery pack dischargecycles, battery pack charge cycles, battery pack conditions andcharacteristics, configuration and programming data, firmware updates,or a command (e.g., sound an alert tone or flash an LED).

The pass-through mode refers to the operation of the adapter 600 duringwhich data communication does not occur and during which electricalpower from the battery pack 400 is passed through the adapter 600 toreach the power tool 200. Instead of exchanging information between thepower tool 200 or the battery pack 400, the adapter 600 serves as anintermediary pathway between the device interface 222 of the power tool200 and the power interface 424 of the battery pack 400. During thepass-through mode, the battery pack 400 transmits electrical power tothe power tool 200, which enables the power tool 200 to perform theassociated task (e.g., drilling, driving, sawing, sanding, etc.).

The adapter 600 switches between the data transmission mode and thepass-through mode based on the state of the power tool 200. When thepower tool 200 is in the active state, the adapter 600 operates in thepass-through mode such that the power tool 200 receives electrical powerfrom the battery pack 400 and communication between the power tool 200and the battery 400 is enabled. On the other hand, when the power tool200 is in the idle state, the adapter 600 is able to exchange data withthe power tool 200 or with the battery pack 400, if connected.Accordingly, the adapter 600 operates in the data transmission mode whenthe power tool 200 is in the idle state and operates in the pass-throughmode when the power tool 200 is in the active state.

FIG. 17 schematically illustrates the connections between the power tool200, the adapter 600, and the battery pack 400. As shown in FIG. 17, thepower tool 200 is in electrical communication with the battery pack 400.The power input module 682 is coupled to the power link 702 between thebattery pack 400 and the power tool 200. Therefore, when the batterypack 400 is coupled to the adapter 600, the power link 702 provideselectrical power to the power tool 200 and to the power input module 682of the adapter 600. The controller 674 of the adapter 600 is coupled tothe communication links 704 between the power tool 200 and the batterypack 400. The controller 674 of the adapter 600 monitors the signalsexchanged over the communication link 704 to determine the state of thepower tool 200. When the power tool 200 is ready to receive electricalpower from the battery 400 to energize the motor 214, the power tool 200sends a power request signal over the communication link 702. Theadapter 600 determines that the power tool 200 is in the active statewhen the adapter 600 detects that the power tool 200 transmitted thepower request signal. The adapter 600 determines that the power tool 200is in the idle state when the power tool 200 does not transmit the powerrequest signal to the battery pack 400. In the illustrated embodiment,the power request signal incudes setting one of the communicationchannels to a high output. In other embodiments, the power requestsignal includes setting one or both of the communication channels to alow output. In yet other embodiments, the power request signal includesa specific code or value that is transmitted to the battery pack 400.

FIG. 18 illustrates the method in which the adapter 600 switches betweenoperating in the data transmission mode and the pass-through mode basedon the state of the power tool 200. The adapter 600 first receivesinformation regarding the state of the power tool 200 (step 706). In theillustrated embodiment, the information includes a reading of thecommunication link 704 between the power tool 200 and the battery pack400. The adapter 600 then uses the received information to determine thestate of the power tool 200 (step 708). If the adapter 600 determinesthat the power tool is in the active state, the adapter 600 operates inthe pass-through mode and allows the battery pack 400 to provideelectrical power to the power tool 200 to energize the motor 214 (step712). If, on the other hand, the adapter 600 determines that the powertool is in the idle state, the adapter 600 then determines whether dataexchange has been initiated (step 716). If data exchange between theadapter 600 and the power tool 200 or between the adapter 600 and thebattery pack 400 has not been initiated, the adapter 600 continues tomonitor the communication link 704 between the power tool 200 and thebattery pack 400 to receive state information from the power tool 200(step 706). If communication between the adapter 600 and the power tool200 or between the adapter 600 and the battery pack 400 has beeninitiated, the adapter 600 exchanges data between the adapter and thepower tool device (step 718). The adaptor 600 continues to cycle throughthe method steps of FIG. 18 over the course of a data exchange and,accordingly, if the power tool 200 requests power from the battery pack400, the data exchange may be interrupted mid-stream.

FIG. 19 illustrates a schematic diagram for an alternative connectionbetween the power tool 200, the adapter 600, and the battery pack 400.As shown in FIG. 19, the signals from the power tool 200 are received bythe controller 674 of the adapter 600. Similarly, the signals from thebattery pack 400 are received by the controller 674 of the adapter 600.The controller 674 continues to monitor the incoming signals from boththe power tool 200 and the battery pack 400 to determine if the powertool 200 changes from an idle state to an active state or vice versa.When the adapter 600 operates in the pass-through mode, the controller674 of the adapter 600 continues to receive information exchangedbetween the power tool 200 and the battery pack 400. The controller 674includes hardware and/or software that allows the adapter controller 674to set the output connections to the power tool 200 substantially equalto the input connections of the battery pack 400 and vice versa,allowing signals to essentially pass through the controller 674. Whenthe adapter 600 operates in the data transmission mode, the controller674 of the adapter 600 receives information from the power tool 200and/or from the battery pack 400.

In some embodiments, during the data transmission mode, the adapter 600does not store received data in memory 688. Rather, the adapter 600 isconnected to both the external device 800 and the power tool device(e.g., the power tool 200 or the battery pack 400) simultaneously toexchange data between the external device 800 and the power tool device.In such embodiments, since the data is moving seemingly immediately fromthe power tool 200 to the external device 800 or from the externaldevice 800 to the power tool 200, the adapter 600 optionally does notstore the data in the memory 688. Rather, the adapter 600 may include abuffer that momentarily holds the data received from the power tool 200or battery pack 400 before the adapter 600 transmits the data to theexternal device 800, and that holds the data received from the externaldevice 800 en route to the power tool 200 or the battery pack 400.

In some embodiments, the adapter 600 may be capable of both storingpower tool data, battery pack data, and data received from another powertool device in the memory 688 and retrieve the data at a later time, andof transmitting the data seemingly instantaneously between the powertool 200, the battery pack 400, or another power tool device and theexternal device 800. In such embodiments, the adapter 600 may default toexchanging data seemingly instantaneously when both a power tool device(e.g., the power tool 200, the battery pack 400, etc.) and the externaldevice 800 are coupled to the adapter 600.

In the illustrated embodiment, the controller 674 is also coupled to theexternal memory receiver 678 to store additional or duplicative data onan external memory coupled thereto. The external memory receiver 678 mayinclude, for example, a port positioned on the housing 604 of theadapter 600 for receiving an external memory (e.g., an SD card). Theport for the external memory is not shown in the figures, but may bepositioned on a sidewall of the housing 604. For example, a slot forreceiving an SD card can be positioned on a back sidewall opposite thecommunication port 612. The external memory receiver 678 allows powertool data and battery pack data to be stored separate from the adapter600. For example, a set of power tools may be associated with the sameowner. Tool and/or battery pack data can be exported from each powertool one at a time, and saved onto the external memory. The owner canthen keep the data associated with the set of power tools in the sameexternal memory to back up the data stored on the external device 800,or to avoid storing the data on the external device 800. The externalmemory may also provide additional protection for the data storedtherein. In the illustrated embodiment, the external memory includes aSecure Digital (“SD”) card. In other embodiments, the external memorymay include other types of memory such as, for example, a USB flashdrive.

The controller 674 is also connected to the display connector 676. Thedisplay connector 676 is provided on the adapter 600 to provide the userwith an alternative way of interacting with the communication system100, and in particular, with the adapter 600. A user may connect adisplay to the display connector 676 and be able to access informationwithout exporting the data to the external device 800. For example, ifthe user wishes to quickly access maintenance information for the powertool 200, the user may couple the power tool 200 to the adapter 600,connect a display to the display connector 676, and access themaintenance information stored on the tool. Therefore, the user canaccess power tool 200 and/or battery pack 400 information withoutexporting data from the power tool device (e.g., the power tool 200, thebattery pack 400, etc.) and importing data from the adapter 600 to theexternal device 800. In some embodiments, the display can be integral tothe adapter 600 and positioned on a sidewall of the housing 604.

FIG. 20 illustrates the adapter 600 coupled to both the power tool 200and the battery pack 400. As shown in FIG. 20, when coupled to the powertool 200, both the adapter 600 and the battery pack 400 increase theheight of the power tool 200. FIG. 20 also illustrates a horizontaloffset H between the adapter 600 and the battery pack 400. Such ahorizontal offset H allows the angled surfaces 644 and 425 of theadapter 600 and the battery pack 400, respectively to be accessible(i.e., visible) to a user.

FIG. 21 illustrates a second communication system 1000. The secondcommunication system 1000 includes similar components as the firstcommunication system 100 shown in FIG. 1, and like parts have been givenlike reference numbers, plus 1000. The second communication system 1000includes a first power tool 1200, a second power tool 1300, a batterypack 1400, an external device 1800, and an external server 1900.

The first power tool 1200, the battery pack 1400, and the second powertool 1300 each include a wireless communication module that allows thepower tool devices to communicate directly with the external device1800. The power tool devices (e.g., the first power tool 1200, thesecond power tool 1300, and the battery pack 1400 may communicate powertool status, power tool operation statistics, power tool identification,stored power tool usage information, power tool maintenance data,battery pack status, battery pack state of charge, battery packoperation statistics, battery pack identification, battery packdischarge and charge cycles, battery pack maintenance data, and thelike. The external device 1800 can also write data to the first powertool 1200, the second power tool 1300, and/or the battery pack 1400 forpower tool configuration, battery pack configuration, firmware upgrades,or to send commands (e.g., turn on a worklight). The external device1800 also allows a user to set operational parameters, safetyparameters, select tool modes, select battery pack options, and thelike.

The external device 1800 may be, for example, a laptop computer, atablet computer, a smartphone, a cellphone, or another electronic devicecapable of communicating with the adapter 600 and providing a userinterface. The external device 1800 includes a wireless communicationmodule that is compatible with the wireless communication module of thefirst power tool 1200, the second power tool 1300, and the battery pack1400. The external device 1800, therefore, grants the user access todata related to the first power tool 1200, the second power tool 1300,the battery pack 1400, or another power tool device (e.g., a charger),and provides a user interface such that the user can interact with thecontroller of the first power tool 1200, the second power tool 1300, thebattery pack 1400, or another power tool device.

In addition, the external device 1800 can also share the informationobtained from the first power tool 1200, the second power tool 1300, thebattery pack 1400, or another power tool device with a remote server1900. The remote server 1900 may be used to store the data obtained fromthe external device 1800, provide additional functionality and servicesto the user, or a combination thereof. In one embodiment, storing theinformation on the remote server 1900 allows a user to access theinformation from a plurality of different locations. In anotherembodiment, the remote server 1900 may collect information from varioususers regarding their power tool devices and provide statistics orstatistical measures to the user based on information obtained from thedifferent power tools. For example, the remote server 1900 may providestatistics regarding the experienced efficiency of the power tools 1200,1300, or battery pack 1400, typical usage of the power tools 1200, 1300,and other relevant characteristics and/or measures of the power tools1200, 1300 or the battery pack 1400.

As shown in FIG. 22, the first power tool 1200 includes similarcomponents to those of the power tool 200 shown in FIGS. 2-4, and likeparts have been given like reference numbers, plus 1000. The controller1226, however, is also in communication with a wireless communicationmodule 1250. The wireless communication module 1250 includes a radiotransceiver and an antenna to send and receive wireless messages to andfrom the external device 1800. In some embodiments, the wirelesscommunication module 1250 includes its own controller to effect wirelesscommunications between the first power tool 1200 and the external device1800. For example, a controller associated with the wirelesscommunication module 1250 may buffer incoming and/or outgoing data,communicate with the controller 1226, and determine the communicationprotocol and/or settings to use in wireless communications.

In the illustrated embodiment, the wireless communication module 1250 isa Bluetooth® module. The Bluetooth® module communicates with theexternal device 1800 employing the Bluetooth® protocol. Therefore, inthe illustrated embodiment, the external device 1800 and the first powertool 1200 are in proximity of each other while they exchange data. Inother embodiments, the wireless communication module 1250 communicatesusing other protocols (e.g., Wi-Fi, cellular protocols, etc.) over adifferent type of wireless networks. For example, the wirelesscommunication module 1250 may be configured to communicate via Wi-Fithrough a wide area network such as the Internet or a local areanetwork, or to communicate through a piconet (e.g., using infrared orNFC communications). The communication via the communication module 1250may be encrypted to protect the data exchanged between the first powertool 1200 and the external device/network 1800 from third parties.

As discussed above, the wireless communication module 1250 is configuredto receive data from the power tool controller 1226 and relay theinformation to the external device 1800. In a similar manner, thewireless communication module 1250 is configured to receive information(e.g., configuration and programming information) from the externaldevice 1800 and relay the information to the power tool controller 1226.The other components and operations of the power tool 1200 are similarto those described with reference to the power tool 200 of thecommunication system shown in FIG. 1.

As shown in FIG. 23, the second power tool 1300 is similar to the firstpower tool 1200 and similar components are given like reference numeralsplus 100. The second power tool 1300 also includes, among other things,a wireless communication module 1350 and a controller 1326. The secondpower tool 1300 is a corded power tool and receives electrical powerfrom an external AC source through a power cord 1322 rather than througha battery pack (e.g., the battery pack 1400). The power cord 1322connects to an external AC source (e.g. a wall outlet or a portable ACsource). The power cord 1322 then connects to a power input unit 1324that conditions the electrical power received through the power cord1322 to an appropriate power level for the controller 1326. The powercord 1322 is also coupled to the switching network 1316 to provide powerto the motor 1314. The controller 1326 controls the states of differentswitches within the switching network 1316 to thereby control operationof the motor 1314. The other components and operations of the secondpower tool 1300 are similar to those described with reference to thefirst power tool 1200.

As shown in FIG. 24, the battery pack 1400 includes similar componentsto those of the battery pack 400 shown in FIGS. 5-7, and like parts havebeen given like reference numbers plus 1000. The controller 1420,however, is further in communication with a wireless communicationmodule 1450. The wireless communication module 1450 includes a radiotransceiver and an antenna to send and receive wireless messages to andfrom the external device 1800. In some embodiments, the wirelesscommunication module 1450 includes its own controller to effect wirelesscommunications between the battery pack 1400 and the external device1800. For example, a controller associated with the wirelesscommunication module 1450 may buffer incoming and/or outgoing data,communicate with the controller 1420, and determine the communicationprotocol and/or settings to use in wireless communications.

In the illustrated embodiment, the wireless communication module 1450 isa Bluetooth® module. The Bluetooth® module communicates with theexternal device 1800 employing the Bluetooth® protocol. Therefore, inthe illustrated embodiment, the external device 1800 and the batterypack 1400 are in proximity of each other while they exchange data. Inother embodiments, the wireless communication module 1450 communicatesusing other protocols (e.g., Wi-Fi, cellular protocols, etc.) over adifferent type of wireless networks. For example, the wirelesscommunication module 1450 may be configured to communicate via Wi-Fithrough a wide area network such as the Internet or a local areanetwork, or to communicate through a piconet (e.g., using infrared orNFC communications). The communication via the communication module 1450may be encrypted to protect the data exchanged between the first batterypack 1400 and the external device/network 1800 from third parties.

As discussed above, the wireless communication module 1450 is configuredto receive data from the battery pack controller 1420 and relay theinformation to the external device 1800. In a similar manner, thewireless communication module 1450 is configured to receive information(e.g., configuration and programming information) from the externaldevice 1800 and relay the information to the battery pack controller1420. The other components and operations of the battery pack 1400 aresimilar to those described with reference to the battery pack 400 of thecommunication system shown in FIG. 1.

In the illustrated embodiment, the wireless modules 1250, 1350, 1450included in the first power tool 1200, the second power tool 1300, andthe battery pack 1400 are substantially similar (e.g., Bluetooth®communication modules). Using similar wireless communication modules1250, 1350, 1450 allows the power tool devices to be compatible witheach other and with generally the same external devices 1800. In otherembodiments, however, the wireless communication module 1250, 1350, 1450in each of the power tool devices may be different from each other. Insuch embodiments, the external device 1800 may include differentcommunication modules to accommodate the wireless communication modules1250, 1350, 1450 of the different power tool devices, or each of thepower tool devices 1200, 1300, 1400 may be compatible with differentsets of external devices 1800.

The first power tool 1200 and the battery pack 1400 shown in FIGS. 22and 24, in some embodiments, can optionally communicate with theexternal device 1800 via the terminals and contacts in conjunction withthe adapter 600 shown in FIGS. 8-16. Thus, in these embodiments, thefirst power tool 1200 and the battery pack 1400 can selectivelycommunicate with the external device 1800 wirelessly and/or via a wiredconnection. As discussed with respect to the first communication systemshown in FIG. 1 and the second communication system shown in FIG. 21,the external device 800/1800 can be used to configure differentparameters of a power tool 200/1200/1300. In particular, the externaldevice 800/1800 can be used to program a specific mode for the powertool 200/1200/1300. When a user selects that particular mode on thepower tool 200/1200/1300, the power tool 200/1200/1300 functionsaccording to the specific mode.

FIG. 25 illustrates an impact driver 1500 operable to communicate withan external device 800, 1800 via an adapter like the power tool 200and/or wirelessly like power tool 1200. The external device 800, 1800allows a user to select, change, and/or modify power tool modes of theimpact driver 1500. Although the power tool 1500 illustrated anddescribed is an impact driver, power tool modes can similarly be changedon a variety of power tool (e.g., a power drill, a hammer drill, a pipecutter, etc.). As shown in FIG. 25, the impact driver 1500 includes anupper main body 1502, a handle 1504, a device receiving portion 1506,mode selection switches 1508, an output drive device or mechanism 1510,and a trigger 1512. The impact driver 1500 includes similar componentsto the power tool 200 shown in FIGS. 2-4, and to the power tool 1200shown in FIG. 22. In other words, in some embodiments, the impact driver1500 communicates with the adapter 600 to exchange information with theexternal device 800. In other embodiments, the impact driver 1500includes a wireless communication module to communicate directly withthe external device 1800.

The mode selection switches 1508 allow a user to select a mode ofoperation for the impact driver 1500. As shown in FIG. 26, the modeselection switches 1508 include a push button 1509 and mode indicators1511 a-d. The mode indicators 1511 a-d display to the user which mode ofoperation is currently selected. In the illustrated embodiment, the modeindicators 1511 a-d include LEDs. In other embodiments, the modeindicators 1511 a-d may include other type of lighting elements (OLEDs),a display, a rotary knob, an icon, or any other visual or tactileindicator that allows the user to identify the current operation modefor the impact driver 1500. A user presses the push button 1509 to cyclethrough the different available modes of operation for the impact driver1500. In other words, one press of the push button 1509 selects a firstmode for the impact driver 1500, a second press of the push button 1509selects a second mode for the impact driver 1500, and so on. The numberof mode indicators 1511 a-d (i.e., four) is representative of the numberof modes that the impact driver 1500 may have assigned to it at a giventime and available through cycling via the push button 1509 (i.e.,four). In other words, in the illustrated embodiment, the push button1509 selects between four different modes for the power tool 1500. Inother embodiments, the push button 1509 selects among more or lessoperation modes for the impact driver 1500. In other embodiments, theselection switches 1508 do not include the push button 1509, but insteadinclude another mechanism to select an operation mode for the impactdriver 1500. For example, the impact driver 1500 may include a switchmovable between four positions, each position selecting a differentoperation mode for the impact driver 1500. Other types of selectionswitches 1508 may also be employed.

Through communication with the external device 800, 1800, the impactdriver 1500 can determine which four modes are accessible to the userwhen operating the impact driver 1500. In other words, the user canselect and assign a mode to each of the mode indicators 1511 a-d from ona list of different operation modes for the impact driver 1500. Theother modes that are compatible with the impact driver 1500 andavailable for assignment to the mode indicators 1511 a-d, but that arenot currently assigned, may be referred to as unassigned modes of theimpact driver 1500. The user may select modes for assignment from avariety of pre-configured modes and user-defined modes. Thepre-configured modes and the user-defined modes may be stored in amemory of the impact driver 1500 and the user may select which mode isassigned to which mode indicator 1511 a-d through the external device800, 1800. In other embodiments, the pre-configured modes and theuser-defined modes are stored on the external device 800, 1800 or on theremote server 900, 1900 and the user selects which modes to assign toand store on the impact driver 1500 using the external device 800, 1800.In these embodiments, the four modes assigned to the mode indicators1511 a-d are stored on the impact driver 1500, while the other potential(unassigned) modes remain on a memory outside of the tool (e.g., on theexternal device 800, 1800 or remote server 900, 1900).

A pre-configured mode is, for instance, a mode that sets specificperformance characteristics (or variables) of the tool for addressingcertain applications. A pre-configured mode may have certain defaultsettings for particular applications (e.g., working with certain screwtypes or lengths or with certain types of work pieces like metal orwood), and a user may further configure certain relevant performancecharacteristics within a pre-configured mode. A user-defined mode allowsthe user to adjust certain performance characteristics (or variables)controllable on the tool. The performance characteristics that areadjustable may depend on the selected user-defined mode. A user-definedmode may rely on the user to set performance characteristics to fittheir particular application, rather than using pre-programmed settingsselected based on particular applications.

The pre-configured modes for the impact driver 1500 include a low speedmode, a medium speed mode, a high speed mode, a self-tapping screw mode,a screwdriver mode, a stainless steel mode, an anti-slip mode, ananti-strip mode, and an anti-spin off mode. The low speed mode isgenerally used for precision work. In the first mode, a motor of theimpact driver 1500 operates at low speeds (e.g., between 0-200revolutions per minute (RPM)). The medium speed mode is generally usedto prevent damage to the fastener and/or to the material on which thefastener is secured. In the medium speed mode, the motor of the impactdriver 1500 operates at medium speeds (e.g., between 0-2,000 RPMs). Thehigh speed mode is generally used to utilize the maximum speed and poweravailable on the impact driver 1500. In the high speed mode, the motorof the impact driver 1500 operates at high speeds (e.g., between 0-2,900RPMs). The low speed mode, medium speed mode, and high speed mode are,in some embodiments, by default assigned to the first mode indicator1511 a, second mode indicator 1511 b, and third mode indicator 1511 c,respectively. Other modes may be assigned as the default modes, and thefourth mode indicators 1511 d may be assigned a default mode as well,such as the self-tapping screw mode. A user can continue to use thesedefault modes, or the user may find that other modes are better suitedfor a task or project and may change the modes accordingly.

The self-tapping screw mode is generally used for driving self-tappingscrews into galvanized steel, and it prevents a user from overdrivingand stripping screws by operating the impact driver at too high a levelof RPMs and impacts per minute (IPMs). In the self-tapping screw mode,the impact driver 1500 begins turning at a high speed (e.g., 1000 RPMs)and reduces the speed when an impact mechanism trips. During theself-tapping screw mode, a controller of the impact driver 1500 monitorsan impact mechanism. When the controller determines that the impactmechanism has been activated, the controller reduces the power providedto the motor of the impact driver 1500 to thereby reduce the rotatingspeed of the impact driver 1500. A user may be able to furtherconfigure/customize the self-tapping screw mode by selecting, forexample, the starting speed for the impact driver 1500, the finishing orlowered speed for the impact driver 1500, and/or the rate at which theimpact driver 1500 decreases speed. The user may change such parametersusing the external device 800/1800.

The screwdriver mode is generally used for driving small machine screws.Many users find it challenging to use an impact driver for more delicateapplications because they may worry that the impact mechanism may damagethe fastener and/or the material. In the screwdriver mode, the impactdriver 1500 operates at low rotational speeds (e.g., 0-500 RPMs). Duringthe screwdriver mode, the impact driver 1500 also activates anelectronic clutch such that operation of the impact driver 1500 stopsbefore the impact mechanism is activated. The electronic clutchanticipates when the impact mechanism may be activated and insteadinterrupts power to the motor of the impact driver 1500 to prevent theimpact driver 1500 from damaging the fastener and/or the material. Auser may determine the maximum speed (e.g., maximum RPMs) when theimpact driver 1500 operates in the screwdriver mode.

The stainless steel mode is generally used for driving self-tappingscrews into 12-16 gauge stainless steel. Due to the nature of stainlesssteel, users have encountered that some screw tips melt before cuttingthe surface of stainless steel. Many users have been sacrificingfasteners until the surface is cut and a fastener can be properlyinstalled. In the stainless steel mode, the impact driver 1500automatically pulses the trigger 1512. By pulsing the trigger 1512, theimpact driver 1500 operates at slower speeds. Slower speeds actuallyperforate stainless steel faster and generate less heat between thescrew tip and the surface of the stainless steel. Therefore, by usingthe stainless steel mode, the user may not need to sacrifice fastenersuntil the surface of the stainless steel is finally perforated. A usermay further customize the stainless steel mode by setting maximum RPMsand IPMS, setting minimum RPMs and IPMs, and/or setting the pulsingfrequency for the impact driver 1500.

The anti-slip mode is generally used for driving screws at high speedsinto metal or wood. Some users, when trying to drive screws at highspeeds, lose engagement between the impact driver 1500 and the fastenerhead and/or have the fastener slip off the desired drive position on thesurface of the material. In the anti-slip mode, the impact driver 1500begins driving at a lower speed (e.g., 250 RPMs) and automaticallyincreases the driving speed when the impact mechanism is activated.Therefore, by starting at a lower speed, slipping of the impact driver1500 and/or slipping of the fastener becomes less likely, and efficiencyis achieved by automatically increasing the fastening speed once theimpact mechanism is activated. The user may further customize theanti-slip mode by setting starting RPMs or IPMs, setting increasedand/or finishing RPMs or IPMs, and/or setting the rate at which thefastening speed increases.

The anti-strip mode is generally used for driving concrete screws into aconcrete block or concrete slab. The anti-strip mode may also be usedfor driving small sheet metal screws into sheet metal. Concrete screwscan sometimes break in the middle of the screw or at the head of thescrew, rendering the screw unusable because the impacts are too fast ortoo strong, and the screw is overdriven. In the anti-strip mode, theimpact driver 1500 begins fastening the concrete screws at a high speed(e.g., 1500 RPMs) and decreases the fastening speed when the impactmechanism is activated. The user may customize the anti-strip mode byselecting the starting RPMs or IPMs, setting the finishing RPMs or IPMs,and/or setting the rate at which the fastening speed decreases.

The anti-spin off mode is generally used for removing fasteners such as,nuts and bolts. When removing nuts and bolts, the nuts and bolts cansometimes lose engagement with the impact driver 1500 and fall from alift or elevated surface. In the anti-spin off mode, the impact driver1500 begins rotating at a high speed (e.g., 1500 RPMs) and automaticallydecreases the fastening speed when the impact mechanism is deactivated.The user can further customize the anti-spin off mode by selectingstarting RPMs/IPMs, selecting finishing RPMs or IPMs, and/or setting therate at which the fastening speed decreases.

The selectable modes of the impact driver 1500 can also be assigneduser-defined modes. The user-defined modes include modes for which theuser defines the operation of the impact driver 1500. The user-definedmodes for the impact driver 1500 include an impact counting mode, amemory mode, an impacting variable speed mode, and a non-impacting mode.The impact counting mode is generally used for repetitivepre-fabrication and/or production fastening. The impact counting modecan also be used for driving anchors on projects with seismicregulations. The impact counting mode ensures that the same torque isapplied to every fastener. In the impact counting mode, the impactdriver 1500 employs a counter and/or a timer to count how many impactsthe impact driver 1500 delivers to a fastener. When the impact driver1500 uses a timer, the timer determines the period of time during whichthe impact driver 1500 impacts the fastener. In the impact countingmode, specific maximum and minimum rotational speeds are assigned to thetrigger 1512, such that the same torque is applied to every fastener.The impact driver 1500 can then be used to secure one fastener, and anysubsequent fastener will be secured with the same number of impacts orfor the same amount of time as the first fastener, thereby ensuringequal torque is applied to each fastener. A user may further specify theminimum and maximum RPMs set to the trigger 1512.

The memory mode is also used for repetitive pre-fabrication and/orproduction fastening. In the memory mode, the impact driver 1500 recordsa fastening operation and then repeats the fastening operation onsubsequent fasteners. For example, for the first fastening operation,the impact driver 1500 may record the RPMs, the IPMS, and/or the trigger1512 travel profile. Then, when fastening a second fastener, the impactdriver 1500 follows the trigger travel profile, the RPMs, and the IPMsas recorded.

The impacting variable speed mode is generally used for drivingfasteners for which users may prefer more control over the minimum andmaximum speeds (e.g., RPMs) than those specified by the low speed,medium speed, and high speed modes for the impact driver 1500.Therefore, the impacting variable speed mode allows a user tospecifically set the maximum and the minimum speeds for the impactdriver 1500. In some embodiments, the user may set the maximum and theminimum speeds for the impact driver 1500 at the same speed, and therebydeactivate the variable speed mode of the impact driver 1500.

The non-impacting mode is generally used for driving small fastenersthat require low torque. As discussed above, some fasteners orparticular applications for fasteners are fragile. Therefore, theimpacting mechanism may damage the fastener and/or the material. In thenon-impacting mode, the user selects the maximum fastening speed suchthat the impacting mechanism is not activated. In some embodiments, theuser can use the non-impacting mode for setting the minimum and maximumfastening speeds to the same speed and thereby deactivating the variablespeed mode for the impact driver 1500.

The external device 800/1800 can be also used to program and/or changedifferent parameters on the impact driver 1500. The external device800/1800 may set, for example, minimum and maximum fastening speeds(e.g., max and min RPMs), speed oscillation, soft start time, triggertravel, downshift/upshift mid-application (which can be triggered by theimpact mechanism being activated), maximum number of impacts, and/oractivation and operation of a worklight for the impact driver 1500.

The external device 800/1800 can also be used to measure speed on theimpact driver 1500 in real time, measure trigger travel on impact driver1500 in real time, as well as measuring other operational parameters ofthe impact driver 1500 in real time. For instance, the power tool 1500may wirelessly communicate tool data in real time to the external device800, 1800.

FIG. 27 illustrates mode selection switches 1608 for an impact wrench1600. The impact wrench 1600 includes similar components as the impactwrench described with respect to FIGS. 2-4, and like parts have beengiven like reference numbers plus 1400. The mode selection switches 1608can also determine an operation mode for the impact wrench 1600. A usercan use the mode selection switches 1608 to set the operation mode fromfour selectable modes. Similar to the mode selection switches 1508 ofthe impact driver 1500, the mode selection switches of the impact wrench1600 include a push button 1609 and mode indicators 1611 a-d as shown inFIG. 27, and operate in a similar manner.

Like the impact driver 1500, the impact wrench 1600 includes fourassigned operation modes at a given time. Each mode indicator 1611 a-dcan be assigned by the user a different operation mode. The user selectsa mode for each mode indicator 1611 a-d using the external device 800,1800. The user may select from a variety of pre-configured modes anduser-defined modes. The pre-configured modes and the user-defined modesmay be stored in a memory of the impact wrench 1600, and the user mayselect which mode is assigned to which mode indicator 1611 a-d throughthe external device 800, 1800. In other embodiments, the pre-configuredmodes and the user-defined modes are stored on the external device 800,1800, or on the remote server 900, 1900, and the user selects whichmodes to assign and store on the impact wrench 1600 using the externaldevice 800, 1800. In these embodiments, the four modes assigned to themode indicators 1611 a-d are stored on the impact wrench 1600, while theother potential (unassigned) modes remain on a memory outside of thetool (e.g., on the external device 800, 1800 or remote server 900,1900).

The pre-configured modes for the impact wrench 1600 include a low speedmode, a medium speed mode, a high speed mode, a consistent torque mode,and an anti-spin off mode. The low speed mode is generally used forprecision work. In the first mode, a motor of the impact wrench 1600operates at low speeds (e.g., between 0-200 revolutions per minute(RPM)). The medium speed mode is generally used to prevent damage to thefastener and/or to the material on which the fastener is secured. In themedium speed mode, the motor of the impact wrench 1600 operates atmedium speeds (e.g., between 0-2,000 RPMs). The high speed mode isgenerally used to utilize the maximum speed and power available on theimpact wrench 1600. In the high speed mode, the motor of the impactwrench 1600 operates at high speeds (e.g., between 0-2,900 RPMs). Afourth mode is a programmable mode assigned to a fourth mode indicator1611 d. The programmable mode varies based on user interaction with theexternal device 800, 1800. In some embodiments, the low speed mode,medium speed mode, and high speed mode are by default assigned to thefirst mode indicator 1611 a, second mode indicator 1611 b, and thirdmode indicator 1611 c, respectively. Other modes may be assigned as thedefault modes, and the fourth mode indicators 1611 d may be assigned adefault mode as well, such as the self-tapping screw mode. A user cancontinue to use these default modes, or the user may find that othermodes are better suited for a task or project and may change the modesaccordingly.

The consistent torque mode is generally used for driving the same typeof fastener multiple times where a consistent bolt tension is desired.In the consistent torque mode, the impact wrench 1600 counts the numberof impacts performed by the impact wrench and stores the RPMs used foreach particular fastener. When a subsequent fastener is secured, theimpact wrench 1600 counts the number of impacts and ceases operationwhen the same number of impacts are performed on the subsequentfastener. The impact wrench 1600 also ensures that the fastening speedis the same for a set of fasteners, thereby ensuring that the sametorque is applied to each fastener. Therefore, a user can use anexternal device 800, 1800 to select from a first group of modes aprogrammable mode for a first power tool and from a second group ofmodes, a programmable mode for a second power tool.

The anti-spin off mode is generally used for removing nuts and bolts.When removing nuts and bolts, the nuts and bolts can sometimes loseengagement with the impact wrench 1600 and fall from a lift or elevatedsurface. In the anti-spin off mode, the impact wrench 1600 beginsrotating at a high speed (e.g., 1500 RPMs) and automatically decreasesthe fastening speed when the impact mechanism is deactivated. The usercan further customize the anti-spin off mode by selecting startingRPMs/IPMs, selecting finishing RPMs or IPMs, and/or setting the rate atwhich the fastening speed decreases.

The selectable modes can also be assigned a user-defined mode. The userdefined modes for the impact wrench 1600 include an impact countingmode, a memory mode, an impacting variable speed mode, and anon-impacting mode. The user-defined modes are substantially similar tothe user-defined modes for the impact driver 1500 and will therefore notbe discussed in further detail.

The external device 800/1800 can be also used to program and/or changedifferent parameters on the impact wrench 1600. The external device800/1800 may set, for example, minimum and maximum fastening speeds(e.g., max and min RPMs), speed oscillation, soft start time, triggertravel, downshift/upshift mid-application (which can be triggered by theimpact mechanism being activated), maximum number of impacts, and/oractivation and operation of a worklight for the impact wrench 1600. Theexternal device 800/1800 can also be used to measure speed on the impactwrench 1600 real time, measure trigger travel on impact wrench 1600 inreal time, as well as measuring other operational parameters of theimpact wrench 1600 in real time. In some embodiments, the impact wrench1600 communicates with the external device 800 through the adapter 600using similar techniques as those described above with respect to thepower tool 200. In other embodiments, the impact wrench 1600 includes awireless communication module, and communicates with the external device1800 using similar techniques as those described above with respect tothe power tool 1200.

FIG. 28 illustrates a hammer drill 1700. The hammer drill 1700 includesan upper main body 1702, a handle 1704, a device receiving portion 1706,a mode selection ring 1708, a mode selection switch 1707, a torqueadjustment dial or ring 1725, an output drive device or mechanism (e.g.,a chuck) 1710, and a trigger 1712. The mode selection ring 1708 allowsthe user to select between a drilling mode, a driving mode, a hammermode, and an adaptive mode (see FIG. 29). When the adaptive mode isselected, the mode selection switch 1707 then allows the user to selectfrom different programmable modes such as pre-configured modes (e.g.,low speed, medium speed, and high speed modes) and user-defined modes.The mode selection switch 1707 is similar to those of the impact wrench1600 shown in FIG. 27 and those of the impact driver 1500 shown in FIG.25-26. The hammer drill 1700 includes similar components to the powertools 200, 1200, 1300, 1500, 1600 described above, and similar to theimpact wrench 1600 and the impact driver 1500. The external device 800,1800 can also be used to program at least one of the modes selectable bythe hammer drill 1700.

The external device 800, 1800 can also be used to program and/or definedifferent features on the hammer drill 1700. For example, the externaldevice 800, 1800 can allow a user to set a constant speed mode, avariable bounded speed mode, settings for soft start, electronic clutch,PWM pulse mode, and a TEK screw mode for the hammer drill 1700. Theconstant speed mode allows the hammer drill 1700 to ignore the positionof the trigger. Instead, the hammer drill runs the hammer drill motor ata constant speed as defined by the user. The speed of the motor is thencontrolled by closed-loop control using sensors determining the positionand speed of the motor.

The variable bounded speed mode allows the hammer drill 1700 to beoperated in different speeds according to the trigger displacement. Theuser may set the minimum speed and/or the maximum speed. When thetrigger is fully depressed, the motor operates at the maximum speed, andwhen the trigger is minimally depressed, the motor operates at theminimum speed. The hammer drill 1700 then operates at linearlyincreasing speeds between the minimally depressed position of thetrigger and full depression of the trigger. The variable bounded speedmode for the hammer drill 1700 is similar to the impacting variablespeed mode of the impact wrench 1600 and the impact driver 1500.

The PWM pulse mode allows the hammer drill 1700 to ignore the positionof the trigger and, rather, oscillate between a minimum speed and amaximum speed. The user can select the minimum speed, the maximum speed,and the oscillation rate between the two. The hammer drill 1700 does notmonitor the position of the trigger and, instead, simply beginsoscillating between the two predetermined speeds. In a variation of thePWM pulse mode, the hammer drill 1700 changes the duty cycle to achievethe minimum speed and the maximum speed of the hammer drill 1700. Thehammer drill 1700, in such embodiments, alternates between oscillatingthe motor duty cycle between a first duty cycle and a second duty cycleat a predetermined oscillation period.

The TEK screw mode, also referred to as the self-drilling screw mode,allows the hammer drill 1700 to operate in a current controlled mode. Inparticular, in the TEK screw mode, the hammer drill 1700 operates at afirst maximum speed (e.g., 1000 RPMs). The hammer drill 1700 monitorsthe current of the hammer drill 1700. When the current drawn by themotor of the hammer drill 1700 exceeds a first predetermined currentthreshold, the hammer drill 1700 lowers the operating speed andcontinues to monitor the current of the hammer drill 1700. When thecurrent of the hammer drill 1700 is below a second predetermined currentthreshold (e.g., 2 A below the first predetermined current threshold)for a particular period of time (e.g., one second), the hammer drill1700 resumes operating at the first maximum speed. The hammer drill 1700operates via an open-loop control in this mode. Generally, an increasein motor current indicates an increase in resistance to driving thefastener and represents increased energy used to overcome the increasedresistance.

The user can also select for the hammer drill 1700 to activate softstart and/or the electronic clutch. Soft start refers to a setting inwhich the hammer drill 1700 slowly increases the speed of the motor tofull speed. When the trigger is first pulled, the hammer drill 1700begins increasing the speed slowly at a predetermined rate. Theelectronic clutch allows the hammer drill 1700 to monitor the outputtorque through a current measurement. When the electronic clutch isenabled, the hammer drill 1700 operates normally until the current ofthe hammer drill 1700 exceeds a predetermined threshold. Once thecurrent of the hammer drill 1700 exceeds the predetermined threshold,the hammer drill 1700 begins to pulse the hammer drill motor at low PWMsto simulate the function of a mechanical clutch. In some embodiments,the electronic clutch can program the torque range of a current ringelectronic clutch setting on the hammer drill 1700.

In some embodiments, the hammer drill 1700 communicates with theexternal device 800 through the adapter 600 using similar techniques asthose described above with respect to the power tool 200. In otherembodiments, the hammer drill 1700 includes a wireless communicationmodule, and communicates with the external device 1800 using similartechniques as those described above with respect to the power tool 1200.

Communication with the external device 800, 1800 provides a graphicaluser interface through which the user can select and customize thedifferent operation modes for the different power tools 1500, 1600,1700. FIGS. 30-36 illustrate exemplary graphical user interfacesgenerated by the external device 800, 1800 to facilitate interactionwith the power tools 1500, 1600, 1700. FIG. 30 illustrates a screenshotof a mode selection screen 2000. The mode selection screen 2000 displaysdifferent modes of operation that can be saved onto the power tool 1500,1600, 1700 or otherwise assigned and selected (e.g., to the programmablemode indicated by indicator 1511 d). In the illustrated embodiment, themodes of operation includes a TEK screw mode 2002, a hard jointfastening mode 2004, a precision fastening mode 2006, a max speed mode2008, and a fastener removal mode 2010. The user can further customizeeach of the modes 2002, 2004, 2006, 2008, 2010 as shown in FIGS. 31-36.

FIG. 31 illustrates the customization available for the TEK screw mode2002. The TEK screw mode customization screen 2012 allows a user to seta breakaway power, a maximum speed, a work light duration, and a worklight brightness. The TEK screw mode customization screen 2012 includesa parameter title section 2014 displaying the name of the parameter thatis customizable by the user, and a selection mechanism 2016 that allowsthe user to set the specific parameter. In the illustrated embodiment,the selection mechanism 2016 includes a horizontal line 2017 with labels2018 a, 2018 b at the two extremes (e.g., 0% and 100%). The selectionmechanism 2016 also includes a movable object (e.g., a slider) 2019 thatmoves along the horizontal line to define where, in relation to the twoextremes, the parameter is set. In other embodiments, the selectionmechanism 2016 also includes a label associated with the movable object2019 to indicate the current setting. In other embodiments, theselection mechanism 2016 may be designed differently. For instance, thework light brightness parameter includes five predetermined values (off,25%, 50%, 75%, and 100%) that can be selected, e.g., by touching one ofthe values via a touchscreen. Additionally, certain parameters are setusing an on/off toggle selector. For instance, the work light may be setto always on via the toggle selector 2023. When the toggle selector 2023is set to off, the movable object 2019 controls the duration parameter.Other selection mechanisms 2016 may include a vertical bar instead of ahorizontal bar, it may include an increasing and/or decreasing number ofsmall icons depending on the value of the parameter, and the like.

As shown in FIG. 31, in some embodiments and for some parameters, anicon 2020 may also be displayed to further clarify the parameter to beselected. As also shown in FIG. 31, in some embodiments, a text box 2022may also be displayed in addition to or in place of the selectionmechanism 2016. For example, in the TEK screw mode customization screen2012, the maximum speed and the work light duration parameters are alsodisplayed the textbox 2022.

In some embodiments, as shown in FIG. 32, the TEK screw modecustomization screen 2012 also or alternatively includes a fastenerselection section 2024. The fastener selection section 2024 allows auser to input information regarding the specific fastener used. In someembodiments, the external device 800, 1800 may provide suggestions ordefault values for the parameters shown in FIG. 31 based on the fastenerspecified in the fastener selection section 2024.

FIG. 33 shows a hard joint fastening customization screen 2026. A usermay customize or adapt the maximum speed, the seating power, the impactduration, the work light duration and the work light brightness. Asshown in FIG. 33, the maximum speed and the work light duration includethe textbox 2022 and the selection mechanism 2016, while the otherparameters include the selection mechanism 2016. As shown in FIG. 32,the hard joint fastening customization screen 2026 also includes anon/off selector 2028 for the work light, which operates similar to thetoggle selector 2023.

FIG. 34 illustrates a precision fastening customization screen 2030. Auser may edit the fastening torque, the maximum speed, whether theimpact mechanism is utilized, how short or long the trigger ramp up is,the work light duration, and the work light brightness. Similar to thecustomization screens 2012, 2026 for the TEK screw mode and the hardjoint fastening mode, the customization screen for the precisionfastening mode includes titles 2014, icons 2020, selection mechanisms2016, on/off selectors 2028, text boxes 2022, and the like.Additionally, as shown in FIG. 34, some parameters also include aninformation link 2032. The information link 2032 provides the user withmore information regarding that particular parameter. For example, theinformation link 2032 may provide the user with an explanation of whatthe parameter is, the effects from having different values for theparameter, typical values used for the specific parameter, and the like.

FIG. 35 illustrates a maximum speed mode customization screen 2034. Thecustomization screen 2034 for the maximum speed mode allows the user todetermine the maximum speed at which the power tool 1500, 1600, 1700operates, a trigger ramp up length (i.e., how quickly or slowly themotor speed ramps up/down due to a trigger position change), work lightduration, and work light brightness. FIG. 36 illustrates a fastenerremoval customization screen 2036. The fastener removal customizationscreen 2036 allows a user to edit the breakaway power used by the powertool 1500, 1600, 1700, the maximum speed, the work light duration, andthe work light brightness.

Although FIGS. 31-36 illustrate customization screens for the TEK screwmode 2002, the hard joint fastening mode 2004, the precision fasteningmode 2006, the max speed mode 2080, and the fastener removal mode 2010,the external device 800, 1800 may generate similar graphical userinterfaces for customizing other modes such as, for example, theanti-spin off mode, the anti-slip mode, etc. Furthermore, thecustomization screens shown in FIGS. 31-36 show exemplary ways in whichthe modes 2002, 2004, 2006, 2008, 2010 can be customized. The modes canalso be customized by setting different parameters for each mode, andgenerating a graphical user interface that allows the user to input thevalues for the different parameters.

In some embodiments, a system and method for customizing a power toolincludes first establishing a communication link between an externaldevice (e.g., external device 800/1800) and the power tool (e.g., hammerdrill 1700). Although not necessary, in some instances, establishing acommunication link includes setting the power tool to an adaptive mode(e.g., via mode selection ring 1708) and selecting a programmable mode(e.g., using mode selection switch 1707). Establishing a communicationlink wirelessly can include instructing (e.g., via a user interface) theexternal device to wirelessly link to the power tool, which may includethe user specifying to the external device details of the tool.Alternatively, a communication link can be established by attaching theadapter 600 to the power tool and either physically connecting theexternal device to the adapter 600 (e.g., via USB cable) or wirelesslylinking the external device to the adapter 600.

After a communication link is established, the external device maygenerate a graphical user interface (GUI) providing mode options (seeFIG. 30). To generate the list of mode options, the external device mayaccess, using a tool identifier as an index, a database storing a listof available modes for each of a plurality of tools. The database mayreside on the external device or a remote server (e.g., server900/1900). Alternatively, the external device may obtain the list ofavailable modes from the tool itself. Regardless of the source, the listof available modes can vary depending on the tool. Accordingly, in someinstances, the external device generates a first list of mode optionswhen communicating with a first tool, and a second list of mode options(different from the first list) when communicating with a second tool.

After selecting a mode on the graphical user interface, the user mayfurther navigate to customize (e.g., set parameters of) the selectedmode, as shown and described with respect to FIGS. 31-35. The selectedmode and/or parameter values are then sent to the power tool over thecommunication link. The power tool saves the received mode selectionand/or parameter values. The user then operates the tool in the selectedmode according to the received parameter values.

The exemplary screenshots of the graphical user interface generated bythe external device 800, 1800 can also be used for customizing differentmodes for different power tools 1500, 1600, 1700. The exemplary screens2012, 2023, 2030, 2034, 2036 can also be used to request informationsuch as, for example, the maximum speed for a particular power tool1500, 1600, 1700. It should be understood that the earlier modesdiscussed above with respect to the impact driver 1500, the impactwrench 1600, and the hammer drill 1700 can be customizable and selectedusing similar screens as those shown in FIGS. 31-36. Additionally,particular programmable modes, including pre-configured modes anduser-defined modes, are described above with respect to specific powertools (e.g., the impact driver 1500, impact wrench 1600, and hammerdrill 1700). However, in some instances, one or more of these modes areimplemented on other power tools. As but one example, the TEK screw modedescribed with respect to the hammer drill 1700 may be implemented on a(non-hammer) power drill and on the impact driver 1500 (e.g., assignedto an indicator 1511 a-d and selected by a user).

Thus, the invention provides, among other things, a communication systemamong power tool devices and an external device, in which the externaldevice provides a user interface to obtain information from differentpower tool devices and provides information to the power tool devices.Various features and advantages of the invention are set forth in thefollowing claims.

What is claimed is:
 1. A power tool communication system comprising: anexternal device including a first controller including a firstelectronic processor and a first memory, wherein the first controller isconfigured to set, based on a first received input at a user interfaceof the external device, a work light duration parameter value, set,based on a second received input at the user interface of the externaldevice, a work light brightness parameter value, and transmit, viawireless communication to a power tool, configuration data including thework light duration parameter value and the work light brightnessparameter value; the power tool including a housing having a handle anda device receiving portion, wherein the device receiving portion isconfigured to receive and couple to a battery pack, a brushless directcurrent (DC) motor within the housing and having a rotor and a stator, atrigger configured to be actuated to activate the brushless DC motor, awork light, a wireless communication circuit configured to wirelesslycommunicate with the external device to receive the configuration data,and a second controller including a second electronic processor and asecond memory, the second controller coupled to the wirelesscommunication circuit to receive the configuration data and configuredto control a work light duration of the work light based on the worklight duration parameter value, and control a work light brightness ofthe work light based on the work light brightness parameter value. 2.The system of claim 1, wherein the user interface includes atouchscreen, and wherein at least one selected from the group of thework light duration parameter value and the work light brightnessparameter value is adjustable via a slider on the touchscreen.
 3. Thesystem of claim 1, wherein the second controller is configured tocommunicate power tool data to the external device via the wirelesscommunication circuit.
 4. The system of claim 1, wherein theconfiguration data includes one or more other parameter values thataffect operation of the power tool and that are set by the firstcontroller based on one or more additional inputs received at the userinterface, wherein the operation of the power tool includes at least oneselected from the group of a speed of the brushless DC motor, afastening torque of the power tool, and an impacting duration of thepower tool.
 5. The system of claim 1, wherein the housing includes anupper main body, wherein the handle is connected to the upper main bodyand to the device receiving portion, and wherein the brushless DC motoris located within the upper main body.
 6. The system of claim 1, whereinthe second controller is configured to control a switching network todrive the brushless DC motor in response to the trigger being actuated.7. A method of controlling a power tool, the method comprising: setting,with a first controller of an external device and based on a firstreceived input at a user interface of the external device, a work lightduration parameter value, the first controller including a firstelectronic processor and a first memory; setting, with the firstcontroller and based on a second received input at the user interface ofthe external device, a work light brightness parameter value;transmitting, from the external device via wireless communication to thepower tool, configuration data including the work light durationparameter value and the work light brightness parameter value;receiving, with a second controller of the power tool via a wirelesscommunication circuit of the power tool, the configuration data from theexternal device, the second controller including a second electronicprocessor and a second memory, and the power tool including a housinghaving a handle and a device receiving portion, wherein the devicereceiving portion is configured to receive and couple to a battery pack,a brushless direct current (DC) motor within the housing and having arotor and a stator, a trigger configured to be actuated to activate thebrushless DC motor, and a work light, controlling, with the secondcontroller of the power tool, a work light duration of the work lightbased on the work light duration parameter value; and controlling withthe second controller of the power tool, a work light brightness of thework light based on the work light brightness parameter value.
 8. Themethod of claim 7, wherein the user interface includes a touchscreen,and wherein at least one selected from the group of the work lightduration parameter value and the work light brightness parameter valueis adjustable via a slider on the touchscreen.
 9. The method of claim 7,further comprising transmitting, from the second controller via thewireless communication circuit, power tool data to the external device.10. The method of claim 7, wherein the configuration data includes oneor more other parameter values that affect operation of the power tooland that are set by the first controller based on one or more additionalinputs received at the user interface, wherein the operation of thepower tool includes at least one selected from the group of a speed ofthe brushless DC motor, a fastening torque of the power tool, and animpacting duration of the power tool.
 11. The method of claim 7, furthercomprising receiving the battery pack at the device receiving portion,wherein the device receiving portion is connected to the handle, whichis further connected to an upper main body housing of the housing thebrushless DC motor.
 12. The method of claim 11, further comprisingcontrolling, with the second controller, a switching network to drivethe brushless DC motor, in response to the trigger being actuated, usingpower from the battery pack.
 13. A power tool comprising: a housinghaving a handle and a device receiving portion, wherein the devicereceiving portion is configured to receive and couple to a battery pack;a brushless direct current (DC) motor within the housing and having arotor and a stator; a trigger configured to be actuated to activate thebrushless DC motor; a work light; a wireless communication circuitconfigured to wirelessly communicate with an external device to receiveconfiguration data including a work light duration parameter value and awork light brightness parameter value; and a controller including anelectronic processor and a memory, the controller coupled to thewireless communication circuit to receive the configuration data andconfigured to control a work light duration of the work light based onthe work light duration parameter value, and control a work lightbrightness of the work light based on the work light brightnessparameter value.
 14. The power tool of claim 13, wherein the work lightduration parameter value and the work light brightness parameter valueare adjustable via a user interface of the external device before beingreceived by the wireless communication circuit.
 15. The power tool ofclaim 14, wherein the user interface includes a touchscreen, and whereinat least one selected from the group of the work light durationparameter value and the work light brightness parameter value isadjustable via a slider on the touchscreen.
 16. The power tool of claim13, wherein the controller is configured to communicate power tool datato the external device via the wireless communication circuit.
 17. Thepower tool of claim 13, wherein the configuration data includes one ormore other parameter values that affect operation of the power tool,wherein the operation includes at least one selected from the group of aspeed of the brushless DC motor, a fastening torque of the power tool,and an impacting duration of the power tool.
 18. The power tool of claim13, wherein the housing includes an upper main body, wherein the handleis connected to the upper main body and to the device receiving portion,and wherein the brushless DC motor is located within the upper mainbody.
 19. The power tool of claim 13, wherein the controller isconfigured to control a switching network to drive the brushless DCmotor in response to the trigger being actuated.
 20. The power tool ofclaim 13, wherein the power tool includes one selected from the groupconsisting of an impact wrench, a power drill, a reciprocating saw, apipe cutter, and a sander.